微服务
关注点
- 不同服务的边界划分
- 通信
- 同步
- http
- 异步
- 事件驱动:消息队列
- 数据共享、文件共享
- 服务发现与负载均衡
- 服务注册:注册及维持心跳连接
- 服务发现:
- 服务端发现:代理网关层与服务注册中心的合作
- 客户端发现
- 分布式日志与监控
- 收集
- Agent 服务收集日志
- 分布式 metric 与监控
- 追踪
- 纵向的 traceID 与横向的 span(用于区分在哪个服务内)
- 微服务异常应对
- 降级:对某些功能不处理
- 限流
- 熔断:禁止访问有问题的依赖服务
- 切流
- 底层问题
- 数据一致性
- 借助分布式协调服务,构建分布式锁
常用工具
- Spring-cloud-gateway + spring-cloud-kubernetes + ribbon