其他分享
首页 > 其他分享> > 服务设计思考:平台化

服务设计思考:平台化

作者:互联网

平台是一套完整的服务。也是一套内部自洽的系统。核心在于分离,业务与通用服务隔离,业务与通用功能隔离。

总览

目标:

关系

实现:

团队合作

原则

  1. 单一职责。
  2. 业务关注业务,功能关注功能。
  3. 确认边界,确认核心领域。
  4. 所见即所得。

实施

如何推进业务开发快速响应?

  1. 抽离变化与不变。形成基础服务

    如下面一套用户体系,将服务抽离,将变与不变隔离。

    用户 api: 主要提供用户相关的接口,变化大,更偏向于业务;

    用户中心: 主要管理用户核心领域,变动不大,需稳定高可用的服务;

    鉴权授权中心: 变动不大,主要管理用户凭证核心领域;

  1. 抽离通用功能。

    那些非业务的通用功能应隔离于业务之外:组件化工具化服务化

    来源监控接口限流日志分析应用监控服务依赖配置管理系统部署等(业务人员不必关心这些功能相关的事情,只需要关注于具体的业务领域)。关注点分离。

    如上面所涉及的,从Spring Cloud的各大组件可以看出,最终的方案都将走上相近的道路。

  1. 领域上下文划分。划分微服务项目。业务隔离,数据去中心化。服务组件化。

    Spring cloud 技术栈:

    • 服务治理: 注册中心,服务调用,衍生的容错(熔断器)
    • api 网关: 来源监控,接口限流(Spring Cloud gateway、zuul)
    • **配置中心: ** 配置管理(Apollo)
    • 自动化部署: Jenkins、docker、k8s
    • 日志与监控: prometheus、influxdb、skywalking、elk
    • 数据可视化: druid、kylin、superset
  1. 细节管控

    接口版本管理, gitflow 管理,项目迭代 release 版本管理,标准化,敏捷开发。

欢迎关注我的公众号。

码哥字节

标签:服务,思考,平台,业务,用户,所见即,测试,设计,隔离
来源: https://www.cnblogs.com/WeaRang/p/13160340.html