微服务(二)

服务治理和监控

微服务架构是通过业务来划分服务的,使用 REST 调用。对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能。

image.png

随着服务的越来越多,对调用链的分析会越来越复杂。它们之间的调用关系也许如下:

image.png

如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。

因此,服务治理,服务链路追踪尤为重要。

实践主要技术栈

  • 核心框架: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