分布式服务 对服务化的一些个人理解

 这几天在看Dubbo的一套分布式服务架构的视频,里面是怎么改造传统服务,结合各种中间件,搭建集群,采用分库分表等骚操作来完成一套企业高可用,高性能,高并发的项目架构。看到一大半的时候,发现自己实在是搭建不起来了,就先放弃了-.-!!,怎么改造搭建就不说了,总结一下分布式服务的服务化吧。

分布式服务子系统:

  1. 服务化的 目标:
      1) 将系统中独立的业务模块抽取出来,按业务的独立性进行垂直划分,抽象出基础层(这个垂直切分大家想一下数据库的行和列,做一下类比。行数据是多个属性的集合体,复杂,类比一个项目中包含了所有模块;而列数据是单个属性的集合,类比项目中的一个独立模块)(感觉还是有些不恰当,见谅)
      2). 基础服务为上游业务的功能和实现提供支撑,基础服务应用本身无状态,可随着系统的负荷灵活扩展来提供服务能力
    盗用一下图:
    在这里插入图片描述
  2. 服务子系统划分的注意事项
    · 不要出现A服务中SQL需要连接查询到B服务的表的情况,这样A服务和B服务在进行垂直拆库时候会出错
    · 服务子系统之间避免环状调用,依赖关系链不要过长
    · 避免分布式事务
  3. 服务接口的设计原则:好的服务接口,并非只是纯粹的接口服务化
    1) 接口的类型
    · 简单的数据查询/写入接口
    · 带有业务逻辑的数据查询/写入接口
    · 同步接口
    · 异步接口
    2)接口的粒度
    每个服务里面的方法应该代表一个功能
    3) 接口应该定义版本号
    4) 异常处理:应该有错误码和错误信息,信息多多益善
    5) 必要的接口输入参数需要校验
    6) 尽量在分布式服务的provider层面将consumer的属性也全部配齐(我们可以在开始时候就考虑provider的设计是否合理)
    7) 服务接口设计与服务子系统划分过程要相互优化

写的感觉挺水的,见谅啊……

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值