使用 Spring Cloud、Istio 和 Kubernetes 构建的一个电商 微服务 项目。
- Chapter00:Docker
- Chapter01:Restful接口、持久化、SpringDoc OpenAPI
- Chapter02:异步通信
- Chapter02-activemq
- Chapter02-kafka
- Chapter02-rabbitmq
- Chapter02-spring-cloud-stream
- Chapter03:OpenFeign
- Chapter04:服务发现 Eureka
- Chapter05:服务网关 Spring Cloud Gateway
- Chapter06:配置服务 Spring Cloud Config
- chapter07: 链路追踪 Zipkin
- chapter08: 监控 Micrometer、Grafana
- chapter09: 监控 Micrometer、Grafana、Tempo
- chapter10: 监控 Micrometer、Grafana、Tempo、Loki
- chapter11:ELK
- chapter12 认证服务 Spring Security OAuth2
- Chapter13:监控服务 Spring Boot Admin
- Chapter14:Kubernetes
- Chapter15:Istio
- chapter16: Service Mesh
- chapter17: Native
安装软件:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install orbstack
brew install spring-io/tap/spring-boot
brew install openjdk@21
brew install maven
brew install jq
brew install siege
brew install helm
brew install minikub
brew install kubectl
brew install istioctl
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v8)' >> ~/.bash_profile
source ~/.bash_profile
验证版本:
git version && \
docker version -f json | jq -r .Client.Version && \
java -version 2>&1 | grep "openjdk version" && \
mvn -v | grep "Maven" && \
curl --version | grep "curl" | sed 's/(.*//' && \
jq --version && \
spring --version && \
siege --version 2>&1 | grep SIEGE && \
helm version --short && \
kubectl version --client -o json | jq -r .clientVersion.gitVersion && \
minikube version | grep "minikube" && \
istioctl version --remote=false
以 Chapter01 为例,进入 microservices 目录,使用 Maven 插件构建镜像
cd Chapter01
cd microservices
mvn -ntp spring-boot:build-image -DskipTests
在某个章节的根目录下使用 docker 启动服务:
cd Chapter01
docker-compose -f docker-compose.yml -f docker-compose-app.yml up -d
先通过 docker-compose.yml 启动本地 Sonar 服务器(可通过http://localhost:9001访问):
注意:我们已经关闭了 sonar.yml 中 UI 的强制身份验证重定向,以便在尝试 SonarQube 时获得开箱即用的体验,对于实际用例,请将其重新打开。
然后,运行 Sonar 分析:
cd microservices
mvn clean verify -DskipTests sonar:sonar -Dsonar.login=admin -Dsonar.password=admin
Sonar 默认的用户名和密码为 admin/admin,如果你修改了密码,请使用新密码。
非常欢迎提出请求 。
learn-spring-authorization-server 是在 Apache 2.0 许可 下发布的开源软件 。