微服务项目架构:
技术点:docker,Kubernetes,rancher,harbor,jetcache,redis,gitLab,spring-cloud-config,spring-cloud-eureka,zipkin,springBootAdmin,jenkins,rabbitMQ,kafka,RDS云数据库-mysql,ECS云服务器,spring-cloud-gateway
整体架构流程:
1.基于springBoot搭建微服务。
2.微服务配合maven,dockerfile打包成docker镜像并存储在docker仓库(harbor,dockerHub,阿里云的容器镜像服务),打包,部署的工作交给jenkins自动部署。
3.将docker仓库中的镜像通过(阿里云的容器服务(k8s),rancher)来生成容器并进行管理和调度。
4.在k8s集群中通过镜像来创建对应的应用并设置负载均衡,外部调用的服务需要进行域名映射,内部的服务通过eureka命名来进行互相访问(通过Feign)。
5.app端通过负载均衡的机制访问到gateway网关服务(路由转发,权限校验,限流,监控等安全服务),在通过eureka进入内部服务。
6.所有服务的日志在zipkin上跟踪。
7.服务与服务之间的通信分为两类:实时业务:通过Feign来进行接口调用,失败情况设置重试次数,非实时业务:通过rabbitMQ,kafka来进行主题播放,并设置死信,失败情况找到失败原因,重新将死信的信息move到你自己的队列。