zoukankan      html  css  js  c++  java
  • 微服务的实践

    问题 :如何拆呢?

    披萨理论:每个团队的人数不能多到两张披萨都不够吃的地步

    “三个火枪手”原则:即一个微服务三个人负责开发

    拆分方法:

    1. 基于业务逻辑拆分
    这是最常见的一种拆分方式,将系统中的业务模块按照职责范围识别出来,每个单独的业务模块拆分为一个独立的服务。


    2. 基于可扩展拆分
    将系统中的业务模块按照稳定性排序,将已经成熟和改动不大的服务拆分为稳定服务,将经常变化和迭代的服务拆分为变动服务。

    3. 基于可靠性拆分
    将系统中的业务模块按照优先级排序,将可靠性要求高的核心服务和可靠性要求低的非核心服务拆分开来,然后重点保证核心服务的高可用。具体拆分的时候,核心服务可以是一个也可以是多个,只要最终的服务数量满足“三个火枪手”的原则就可以。

    微服务需要的基础能力

    实施的优先级

    1. 服务发现、服务路由、服务容错:这是最基本的微服务基础设施。

    2. 接口框架、API 网关:主要是为了提升开发效率,接口框架是提升内部服务的开发效率,API 网关是为了提升与外部服务对接的效率。

    3. 自动化部署、自动化测试、配置中心:主要是为了提升测试和运维效率。

    4. 服务监控、服务跟踪、服务安全:主要是为了进一步提升运维效率。

  • 相关阅读:
    封装Socket.BeginReceive/EndReceive以支持Timeout
    使用反射动态创建类型实例
    泛型List<T>排序(利用反射)
    复旦版最佳医院排行 沪21家医院入选全国百佳
    C#格式化字符串
    一些很酷的.Net技巧
    系列文章--SQLite文章
    C#垃圾回收机制
    C#中Cache的使用
    ASP.NET Cache缓存的使用
  • 原文地址:https://www.cnblogs.com/huilei/p/10511623.html
Copyright © 2011-2022 走看看