企业级架构设计原则

当我们在为新的产品或者项目进行系统架构设计、制定演进路线、技术选型的时候,我们需要一些架构原则,来指导我们的架构设计和选型。

架构解决的问题

架构作为构架在业务与技术之间鸿沟的桥梁,e.g:业务需求 --> 架构 --> 技术实现
其主要目的:

为了解决当下或未来软件系统复杂度带来的问题,而架构其实并非设计出来,而是随着业务的发展逐步演变出来的结果

架构的一些原则

1.Security - Built security in, “安全”带来的品牌名声损失、用户流失、金钱的直接损失,都是企业级应用不能容忍的事故。

可参考的实践:

  • 端到端的加密,传输的数据通过SSL加密,e.g: Request -> ELB(https) -> EC2(https)

  • 根据系统不同的用途,将各个系统进行网络分区,设置不同的防火墙

2.Scalability - 动态伸缩, 至少支持两个维度的伸缩,比如水平伸缩和垂直伸缩。

可参考的实践:

  • 根据用户访问量或系统负载,进行水平的增加或者减少服务器实例

  • 可根据Segment分流,比如产品线类型,多品牌划分。

3.Resilient to Failures - 健壮性,容错

可参考的实践:

  • 为API设置timeouts,重试机制

  • 异步优于同步集成

  • 设置自动熔断,做到服务降级的同时,为终端用户提供有意义的信息

  • 防御性代码和测试

  • 通过ELB或者F5,隔离内部服务与用户的交互的直接交互,屏蔽内部服务状态变化对用户操作的影响。

4.Logs,Instrumented and Monitored - 日志与监控

可参考的实践:

  • 分布式追踪, e.g: dynatrace,zipkin等

  • 中心化日志管理, e.g: splunk

  • 服务监控与告警, 定义监控指标,设置告警触发条件

5.Configurable - 可配置,将系统容易变化的部分,通过配置进行管理

可参考的实践:

  • 前端样式styleguide的可配置,可以轻易更换网站风格(换皮肤)

  • 功能的可配置,比如feature toggle

  • 熔断器的可配置

  • 配置服务器,比如Spring cloud config server,实现配置的动态管理

6.Automated - 自动化一切可以自动化的任务

可参考的实践:

  • CI & CD

7.Modular - 模块化

可参考的实践:

  • 划分清楚的职责 - Single responsibility of a component (done well)

  • 关注点分离

  • 高内聚,低耦合

  • Just good enough - not over engineered

8.Reuse - 重用已用API资产,避免不必要的重复构建

可参考的实践:

  • API文档,e.g: SwaggerUI

  • API资产管理,比如有些商用的API Gateway, Axway能够集中管理所有注册的API生命周期

9.Predictable - Release - 可控发布,而不是祈祷式发布

可参考的实践:

  • 增量发布

  • 回滚计划

  • 蓝绿部署

  • 灰度发布

  • 隔离持续集成和持续部署

10.Consume over Rent over Buy over Build,除非需要构建Core能力,优先选择Build,否则依次考虑Consume > Rent > Buy > Build

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容