服务框架
微服务化以后,为了让业务开发人员专注于业
务逻辑实现,避免冗余和重复劳动,规范研发
提升效率,必然要将一些公共关注点推到框架
层面。服务框架 ( 图 9) 主要封装公共关注点
逻辑,包括:
1.
服务注册、发现、负载均衡和健康检查,
假定采用进程内 LB 方案,那么服务自注
册一般统一做在服务器端框架中,健康检
查逻辑由具体业务服务定制,框架层提供
调用健康检查逻辑的机制,服务发现和负载均衡则集成在服务客户端框架中。
2.
监控日志,框架一方面要记录重要的框架
层日志、metrics 和调用链数据,还要将
日志、metrics 等接口暴露出来,让业务
层能根据需要记录业务日志数据。在运行
环境中,所有日志数据一般集中落地到企
业后台日志系统,做进一步分析和处理。
3.
REST/RPC 和序列化,框架层要支持将业
务逻辑以 HTTP/REST 或者 RPC 方式暴露出
来,HTTP/REST 是当前主流 API 暴露方式,
在性能要求高的场合则可采用Binary/
RPC方式。针对当前多样化的设备类型(浏
览器、普通 PC、无线设备等 ),框架层要
支持可定制的序列化机制,例如,对浏览
器,框架支持输出 Ajax 友好的 JSON 消息
格式,而对无线设备上的 Native
App,
框架支持输出性能高的Binary消息格式。
4.
配置,除了支持普通配置文件方式的配置,
框架层还可集成动态运行时配置,能够在
运行时针对不同环境动态调整服务的参数
和配置。
5.
限流和容错,框架集成限流容错组件,能
够在运行时自动限流和容错,保护服务,
如果进一步和动态配置相
已有 0 人发表留言,猛击->> 这里<<-参与讨论
ITeye推荐