服务治理和监控
微服务架构是通过业务来划分服务的,使用 REST 调用。对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能。
随着服务的越来越多,对调用链的分析会越来越复杂。它们之间的调用关系也许如下:
如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。
因此,服务治理,服务链路追踪尤为重要。
实践主要技术栈
- 核心框架:Spring Boot + Spring Cloud
- 服务注册与发现:nacos
- 配置中心: nacos
- ORM 框架:mybatis plus tk.mybatis
- 数据库连接池:HikariCP
- 数据库缓存:Redis Sentinel
- 消息中间件:RabbitMQ
- 接口文档引擎:Swagger2 RESTful 风格 API 文档生成
- 全文检索引擎:ElasticSearch
- 分布式链路追踪:skywalking ZipKin
- 分布式文件系统:阿里云OSS,AWS s3
- 分布式日志系统:ELK(ElasticSearch + Logstash + Kibana)
- 反向代理负载均衡:Nginx