微服务架构要解决的问题
微服务中要解决的问题就是解决分布式系统开发中的问题
客户端如何访问大量服务
- API Gateway
服务和服务之间如何通信
- 同步通信
- HTTP: Apache Http Client
- RPC: Dubbo(只支持Java),Apache Thrift,gRPC
- 异步通信
- 消息队列: RabbitMQ,RocketMQ,kafka
大量服务如何管理
- 主要是实现高可用,高并发,高性能
- 服务治理: 服务注册与发现
- 服务注册与发现分两种情况:
- 基于客户端的服务注册与发现: Apache Zookeeper
- 基于服务端的服务注册与发现: Netflix Eureka
- 服务注册与发现分两种情况:
服务宕机如何解决
- 服务熔断
- 服务降级
- 服务限流