[译]Minikube 中的 Minions - 面向 Java 开发人员的 Kubernetes 简介

我们希望我们的微服务是可复制、可替换的工作程序,我们可以轻松升级或降级,无需停机,管理也只需最少。我们可能会说我们希望他们是我们的奴才。在本文中,我们将通过一个简单的示例来了解 Kubernetes 通过创建和编排奴才大军可以为我们做些什么。您可以按照本文进行编码,也可以从此处克隆项目。

先决条件

我们需要将微服务容器化,以便在 Kubernetes 中运行它们 — 我们将使用Docker来实现这一点。我们将使用Minikube,而不是使用云托管的 Kubernetes,这样我们就可以在本地进行沙盒处理。

More »

[译]面向 Java 开发人员的 Kubernetes

有一类新工具可用于将应用程序 docker 化并部署到 Kubernetes,这些工具专门面向开发人员。该类别中的最新工具是 RedHat 的 JKube。

微服务是一种架构风格,由一个小型的、单独的应用程序组件组成,该组件具有单一职责,在部署和可扩展性方面具有高度的自主性。这些组件通过轻量级协议(如 REST over HTTP)进行通信。因此,开发团队规模很小(两个披萨规则),专注于微服务。实际上,团队拥有从开发到部署的整个生命周期——如果你构建了它,你就会运行它。这就产生了一个问题。毕竟,开发团队的核心竞争力通常是 Maven、微服务框架(例如 Spring Boot)、测试框架(如 JUnit)等。但是,如果我们看一下部署微服务所涉及的步骤:

More »

ActiveMQ安装和使用

ActiveMQ 是一个实现了 JMS 协议的开源消息中间件,目前它有两种版本:ActiveMQ “Classic” 和 ActiveMQ Artemis。

More »

Jenkins安装和部署-使用Docker

使用 Docker 安装

$ docker volume create --name jenkins_data

$ docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkins/jenkins:jdk21

第一次启动 Jenkins 时,Docker 日志将包含如下消息:

More »

搭建本地 Maven 仓库 Artifactory 开源版

安装 Artifactory

官方下载安装地址:https://jfrog.com/community/download-artifactory-oss/ ,支持三种安装方式:

  • Windows Installer
  • Linux Installers
    • tar.gz
    • RPM
    • Debian
    • Docker Compose
    • Docker
  • Helm

手动下载并安装

安装包文件地址在 https://releases.jfrog.io/artifactory/bintray-artifactory/org/artifactory/oss/jfrog-artifactory-oss/ 。以当前最新版本 7.84.15 为例,在 linux 服务器上下载:

More »

搭建本地Maven仓库Nexus

使用 Docker 安装

$ docker volume create --name nexus_data

$ docker run -d -p 8081:8081--name nexus -v nexus_data:/nexus-data sonatype/nexus3
  • 8081 是 Nexus UI 端口

使用 Docker Compose 安装

services:
    nexus:
        image: sonatype/nexus3
        platform: linux/amd64
        ports:
            - "8081:8081"
        volumes:
            - nexus_data:/nexus-data
            - /etc/localtime:/etc/localtime:ro

volumes:
    nexus_data:

访问并配置 Nexus

访问 http://127.0.0.1:8081/ 或者是 http://<your IP>:8081,用户名为 admin ,初始密码在容器里的 /nexus-data/admin.password 文件

More »

All things about OAuth

OAuth 是一种开放协议,允许通过网络、移动和桌面应用程序以简单标准的方式进行安全授权。

OAuth 2 入门

以下是一些 OAuth 2.0 指南,涵盖了理解和实现客户端和服务器所需的许多主题。

More »

JWT

什么是 JWT?

JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络应用程序之间安全地传输信息。它被设计用于在两方之间传输声明,这些声明可以是身份验证和授权信息,也可以是任何其他类型的信息。

设计目的:不需要服务器端存储状态,安全地传递非敏感信息。

JWT 特点

  • 可扩展性:可以在 payload 中携带任意的 JSON 数据
  • 自包含性:所有用户相关信息都在 JWT 中,不需要依赖数据库
  • 无状态性:服务器不需要保存会话状态,提高了系统的可扩展性
  • 跨域支持:可以跨域传递,因为是 JSON 格式
  • 安全性:通过签名确保数据不被篡改

JWT 组成

eyJraWQiOiJmYTNkZmZjMS0xZmQ3LTRhM2QtYTEyMC1mNjY4OWE4NDM5YjQiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjbGllbnQiLCJhdWQiOiJjbGllbnQiLCJuYmYiOjE3MTc1NDk5NDMsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImV4cCI6MTcxNzU1MDI0MywiaWF0IjoxNzE3NTQ5OTQzLCJqdGkiOiJiMjU0ZGVhMi1kMWE2LTQxNzEtYjEyYy1lNmYzYzZjMDJkMGQifQ.eRiS0H2E-h5PiDEfJikjoPGH1DCqWVt4VIzLtPoSOaIK6jBIaw0h5m-reZVUyZPNYZG68Ymhey17aZBMveirqCxN-lNcPMIGfuqMptfsD9E6Hfam6bEMgpEAOQsQ6Ruk3vGtdmjnEC2h9ZStoqT5-C6JgArwFLGgX92LXrRYz7-60n0I6EAB07u9kxc6FQKLow90RiyXi2YLur-ttOUQpecf8zHi48zRc-HLLoWAMaNddT-4hg4v0Qts4DultpxZB_Xu7DRc91G_8M6sYFSvFSVFHlcWFgKNLZqUYwepLHX2LxoXdbTLGqV9x__-J8UO0TO3TkpC2BaZAiseYcpYMw

JWT 主要有以下三个部分通过 base64 加密组成:

More »