生活资讯
企业级Service框架设计要素
2024-12-24 12:48  浏览:83

目前社区越来越靠近开源,很多的基础架构也不在从头造轮子,都是基于开源项目的基础上进行再一步封装。比如针对restful,通常是使用开源的jersey。但是开源的产品通常都是提供核心功能,并不能提供企业级运行所需要的功能。这就需要我们哪来一个开源产品进行进一步封装。

很多人经常提问,封装到底到底需要考虑哪些方面呢。 由于是博客,不能介绍细节,我只是说说大概的思路。

对于一个service 服务的注册和路由,协议转换,序列化、反序列化等等,这些都是有开源框架完成的。我们就不赘述了。

大概的设计方向是

需要实现pipeline 引擎来进行业务扩展。 这个引擎或者利用filter 或者自己实现都是可以的。 pipeline 定义request 和response pipeline 的 单元及顺序。 让在进入用户的逻辑之前有能进行逻辑的扩展。

  • Request pipeline  
  • Response pipeline   

从下面几个方面收集数据

Transaction

   Logic

  • Traction type 
  • Transaction time
  • Failure
  • Warning
  • long time transaction 
  • Total Count 
  • Raw log

   Box 

  • tps
  • GC overhead
  • CPU usage
  • memory available
  • threads 

Event

  • count
  • Raw log

需要在合适的生命周期进行配置的初始化。如读pipeline的yaml配置pipeline, 初始化有不同的策略

  • 容器启动时
  • Service 被调用时
  • 容器启动好,应用程序warm up 阶段。

通常大家都会选择容器启动时。

 

  • Authn/Authz  在request 进入用户逻辑前进行权限校验,是不是valid 用户,能不能调用这个call
  • handshake 来校验token
  • Ratelimiter  限流判断,防止用户进行DOS攻击。
  • https support, 目前流行的是tls1.2 ,这个需要用户可以配置。
  • 服务应用的token 来表示这个应用是被允许上线的。

企业级Service框架设计要素

  • server timeout 来保证long connection 不会用光线程池,考虑readTimeout 和 connection timeout
  • client 端 要用hystrix 的断路器来保证连接
  • 根据异常的数量和趋势自动进行markdown 停止服务
  • 根据流量自动进行markup 或者提供手工markup 的能力 
  • 服务的注册,包括service name, url, protocol, service discovery label,  configuration,port
  • 服务的动态修改, 可以在线调整服务的各种参数, 比如timeout

服务的发现,结合服务注册中心, 或者k8s istio,或者pure envoy实现,根据架构的不同提供不同的注册功能。

  • 服务的动态修改, 可以在线调整服务的各种参数, 比如timeout

我们通常会提供服务的一个id,来标识这个服务。

服务通常是一个调用链, 这是一个分布式的分散的调用链。 对于一个request 的call ,整个链路都需要能够看到能够trace。 opentracing 是一个很好的标准,可以选择不同的实现。

log 通常需要记录本地的exception ,同时这些分散在不同box 的log 最好能够发送到后台的log 服务, 类似于 CAT, 能够聚合来方便观察监控。

如果service 部署到不同的国家, 异常的信息,或者返回的信息就需要考虑国际化。

Service 需要一个UI 来进行admin 的管理工作。

1. 实时状态显示

2. 参数的动态修改

3.  线上问题的紧急处理。

 

这部分是最容易比程序员遗忘的。写了代码,通常不在乎实施的人怎么处理问题。 但是在紧急的问题处理中, 很多service 是不能出错的。或者出错的时间不能很长,那么针对不同的情况,  作为开发者比较要提供一份详细的SOP来作为预案处理。

    以上就是本篇文章【企业级Service框架设计要素】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/tnews/175.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
耐水弹力海棉
产品属性用途区域产品包装、耐水 防潮密度0.02-0.18g/cm3原产地中国,江苏,常州品牌D-Foam形状可根据客户提供图纸生产颜色可根
耐水高强度海棉
产品属性用途区域产品包装、耐水 防潮密度0.02-0.18g/cm3原产地中国,江苏,常州品牌D-Foam形状可根据客户提供图纸生产颜色可根
防潮耐水EVA材料
产品属性用途区域产品包装、耐水 防潮密度0.02-0.18g/cm3原产地中国,江苏,常州品牌D-Foam形状可根据客户提供图纸生产颜色可根
耐油耐水海绵
产品属性用途区域产品包装、耐水 防潮密度0.02-0.18g/cm3原产地中国,江苏,常州品牌D-Foam形状可根据客户提供图纸生产颜色可根
供应耐水海绵
产品属性用途区域产品包装、耐水 防潮密度0.02-0.18g/cm3原产地中国,江苏,常州品牌D-Foam形状可根据客户提供图纸生产颜色可根
看了OPPO、vivo的新旗舰手机样张后,决定还是继续用微单吧
最近,OPPO、vivo都给出了自家旗舰手机的样张,大战一触即发。记得手机圈上一次这么火爆,还是小米15 Ultra的时候。具体来说,当
微信借钱不求人,6个步骤轻松搞定...手机微信怎么借钱「微信借钱不求人,6个步骤轻松搞定...」
微信,作为中国人日常生活中不可或缺的社交软件,不仅满足了人们的沟通需求,还悄然融入了金融服务,其中就包括微信借钱功能。无
小米8系列手机,有它才叫防摔保护手机爆屏「小米8系列手机,有它才叫防摔保护」
手机已成为日常生活必备品,而且小米8陶瓷后盖摔不得,维修的费用都赶上半个手机的钱了,选什么手机壳呢,贼难拆的磨砂硬壳?一
米其林指南开启江苏篇章,“江苏味”如何与世界“双向奔赴”
米其林指南作为餐饮界的“奥斯卡”,关注度高。2024年7月,米其林指南重调评价体系,转为省份榜单评选,并官宣江苏省、福建省成
重磅发布!5.4%!
4月16日,国家统计局发布的数据显示,一季度,在以习近平同志为核心的党中央坚强领导下,各地区各部门认真贯彻落实党中央、国务