服务化:
服务化就是把传统的单机应用中通过 JAR 包依赖产生的本地方法调用,改造成通过 RPC 接口产生的远程方法调用。
遇到的最大的问题是数据库伴随服务的切分以及一致性带来的复杂度提升
总结一下,微服务架构下,服务调用主要依赖下面几个基本组件:
- 服务描述:常用的服务描述方式包括 RESTful API(用于 HTTP 协议的服务描述)、XML 配置(用作 RPC 协议的服务描述,通过 *.xml 配置文件来定义接口名、参数、返回值类型)以及IDL文件(用作 Thrift 和 gRPC 这类跨语言服务调用框架)
- 注册中心:供服务提供者注册服务,供消费者订阅服务,维护服务提供者的地址列表
- 服务框架 服务通信的协议、数据传送的方式、数据压缩的格式(序列化的方式)
- 服务监控 指标收集、数据处理、数据展示
- 服务追踪 通过requestid串联所有调用节点进行追踪
- 服务治理 服务治理的场景:单机故障、单IDC故障,依赖服务不可用
网友评论