• Atitit.架构设计趋势 设计模式 微服务架构  soa


    Atitit.架构设计趋势 设计模式 ---微服务架构  soa

    什么是微服务架构?1

    、微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现1

    微服务与康威定律2

    微服务的一些设计 断路器 幂等2

    《微服务设计》([] 纽曼(Sam Newman)3

    微服务架构与实践4

     

    什么是微服务架构?

    Martin Fowler认为,微服务架构是一种独立部署的软件应用设计方式。这种架构方式没有准确的定义,但是在业务能力、自动部署、端对端的整合、对语言及数据的分散控制上有着共性。Martin Fowler曾在文章中详细阐述了微服务的特征,资深架构师顾伟在分享中总结了其中最重要的三点:轻量可复用、安全可伸缩、失败设计。很多企业在发展中遇到了瓶颈,CIO们纠结如何让企业的架构更有弹性、并节约成本的增加弹性、如何开放服务数据、并规避开放之后的安全问题。而微服务架构正能够满足这些需求。但是,微服务架构也为企业带来一些挑战:微服务的粒度更细,导致了更多的进程;微服务架构整合了多种服务形态,却需要提供统一的接口;开放服务之后,业务量不稳定,增加了CPU和内存的负担。

    微服务架构就能够很好地解决这个问题。微服务架构自 2010年开始逐渐被大家熟知,通过对传统单块应用进行服务化切分,把一个大而复杂的问题化解为多个小而简单的问题,服务之间通过契约来约定依赖,做到服务独立发布和演进。今天,微服务架构已经被广泛运用在像 Google、 Facebook这样的大型互联网公司,为他们的快速交付和持续创新提供软件架构支撑。本书中有大量微服务架构实战经验的总结,不仅仅有应用架构设计的内容,还涵盖了微服务大背景下应用测试、发布、日志、监控等方面,让读者可以全面应对微服务架构需求。

    、微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现

     

    微服务与康威定律

    Melvin Conway于1968年发表的论文《 How Do Committees Invent 》指出:系统设计的结构必定复制设计该系统的组织的沟通结构。这一论断被称为“康威定律”。在《Exploring the Duality Between Product and Organizational Architectures %201309%E2%80%93%201324_c5c2350e-013c-4065-a2f9-d95eb32177d5.pdf)》一文中,作者发现紧密耦合的组织(例如典型的商业产品公司,所有员工在同一地点工作,具有高度一致的愿景与目标)开发的软件倾向于较少模块化,而松散耦合的组织(例如分布式的开源社区)开发的软件则倾向于更加模块化、耦合较少。

     

    微服务的一些设计 断路器 幂等

     

    2)断路器
    使用断路器,当请求下游服务发生一定数量的失败后,短路器打开,接下来的请求快速失败。一断时间后,查看下游服务是否已服务,重置断路器。
    3)舱壁
    未每个下游服务建立单独的连接池。超时和断路器资源受限时释放资源,舱壁第一时间确保它不成为限制。还有一个拒绝请求的舱壁,用以避免资源饱和,称之为减载。
    4)隔离
    当下游服务离线,上游服务不受影响。设置成为服务间隔离。

    5、幂等

    幂等操作,多次执行所产生的影响,均与一次执行影响相同。可以把某些特定业务操作设计成幂等的,比如客户下单送积分。

     

    4、版本管理

    1)尽可能推迟破坏性修改
    宽进严出的原则
     3)不同的接口版本共存
    最好共存两个版本

     

    《微服务设计》([] 纽曼(Sam Newman) 

    Line 301: 1 章 微服务 1

    Line 319: 2 章 演化式架构师 11

    Line 341: 3 章 如何建模服务 24

    Line 355: 4 章 集成 32

    Line 396: 415 与第三方软件集成 61

    Line 403: 5 章 分解单块系统 66

    Line 434: 6 章 部署 86

    Line 458: 7 章 测试 110

    Line 487: 8 章 监控 131

    Line 501: 9 章 安全 143

    Line 533: 10 章 康威定律和系统设计 161

    Line 555: 11 章 规模化微服务 171

    Line 606: 12 章 总结 204

    微服务架构与实践

     

    1部分 基础篇

    1章 单块架构及其面临的挑战 ............................................. 3

    2章 微服务架构综述 .................... 13

    2部分 实践篇

    3章 构建**个服务 .................... 41

    4章 Hello World API .................... 45

    5章 构建 Docker映像 ................. 61

    6章 部署 Docker映像 ................. 71

    7章 持续交付流水线 .................... 85

    8章 日志聚合 .............................. 97

    9章 监控与告警 ......................... 105

    10章 功能迭代 .......................... 115

    3部分 进阶篇

    11章 微服务与持续交付 ............ 131

    12章 微

     

    微服务实战(一):微服务架构的优势与不足_知识库_博客园.html

    微服务设计-读书笔记 - 简书.html

    微服务与康威定律 - 推酷.html

     

    作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

    汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

    Atiend

     

     

     

  • 相关阅读:
    AreEngine 求最小面积的外接矩形,非IEnvelope,表达不清楚了
    获取GeoScene Pro 90天免费试用版
    How to "Activate" a MapFrame in C#
    Arcengine获得模型(工具)是否存在
    ArcGIS Python获得一个数据库所有要素类
    ArcGIS Pro和Geoscene不能同时安装,因为是同一个软件
    Needs to run on the GUI thread解决
    The entity type 'ExtraPropertyDictionary' requires a primary key to be defined.
    Always Encrypted with Azure Key Vault
    Your startup project 'UnitTestNet6' doesn't reference Microsoft.EntityFrameworkCore.Design.
  • 原文地址:https://www.cnblogs.com/attilax/p/15198407.html
Copyright © 2020-2023  润新知