架构概论及架构演变史-阿里云开发者社区

开发者社区> 煜月> 正文

架构概论及架构演变史

简介: 架构概论及架构演变史
+关注继续查看

架构概论

  • Reliable Scalable Distributed(可靠的、可扩展的、分布式的),高并发,可靠性,性能
    • Distributed Middleware(分布式中间件)
    • Micro Service(微服务)
  • DevOps(开发运维一体化),Docker,K8s,CI/CD
  • Service Mesh,解决性能问题,每一个物理节点上有一个代理节点,节点与节点之间通信,代理节点完成末端的统一接口,这样就可以让我们的集群网络通信、开发成本降低
  • AIOps(人工智能运维)
    • ChatOps(聊天室运维)
    • Serviceless(无服务化)

顶层设计

  • 按需、预期未来,规划企业架构
  • 业务全局出发,制定可落地的架构方案
  • 技术选型、难题解决规划
  • 方案与代码,广度与深度
  • 技术+管理(人,资源,技术)

核心需求

  • 分布式、高并发、高性能、高可用、可扩展、松耦合、高内聚、可复用、边界、安全、成本、规模等等
  • 服务、缓存、消息、搜索、调度、任务、数据、监控、配置、网关等等
  • Paxos、CAP、BASE、ACID、raft、rpc、Reactor、SLA、SLB等等

关键词汇

  • 缓冲 Buffer:解决上下游速度不匹配的问题,消息队列、批处理都属于 Buffer
  • 缓存 Cache:解决 I/O 性能问题,在内存中存储热点数据,提升慢速磁盘 I/O 和程序使用的过程,PageCache、内存到 CPU 中的三级缓存、Redis、本地缓存等都属于 Cache
  • 复用 Pool:降低复杂度,提升性能,连接池、线程池、内存池、对象池都属于 Pool
  • 分治 Sharding:分而治之,单机、集群都适用,降低时间复杂度
  • 亲密(粘性)sticky:让某一个线程亲密到某一颗 CPU上,将相同 id 的商品路由到一台机器上,或者是将相同 ip 地址/相同 session 在负载均衡时负载到一台机器上,这样可以减少资源的重复分配,ThreadLocal、数据路由等都属于 sticky
  • 权衡 Balance or trade-off:技术选型,在技术之间做一个均衡

喝啤酒理论:假设你住在24层,在1层有12瓶啤酒,现在你想喝啤酒,但是有一个要求,你必须把啤酒从1层带到24层去喝,你可以有两种选择:一种是每次拿1瓶回去喝,另一种是拿个箱子把12瓶酒全部装回去喝。很显然,第二种方式是更优的,它相比第一种方式,减少了来回跑动所付出的代价。这种理论实际上就体现了缓冲的概念。

技术词汇:

  • QPS:Queries Per Second(2/8 定理:0.8并发量/0.2天秒)
  • TPS:Transactions Per Second
  • RT:Response-time
  • PV:Page View
  • UV:Unique Visitor
  • 并发数:同时访问服务器站点的连接数
  • 线程数:((挂起时间+运行时间)/ 运行时间 )* CPU 2倍(状态(挂起,运行)->时间)

各种中间件的性能:https://help.aliyun.com/

书籍推荐

1、大型网站技术架构:核心原理与案例分析

2、分布式服务框架原理与实践

3、互联网创业核心技术:构建可伸缩的web应用

4、高扩展性网站的50条原则

5、架构即未来:现代企业可扩展的Web架构、流程和组织

6、系统架构:复杂系统的产品设计与开发

7、Java性能优化权威指南

8、大规模分布式存储系统:原理解析与架构实战

9、大规模分布式系统架构与设计实战

10、企业IT架构转型之道:阿里巴巴中台战略思想与架构实战

11、尽在双11:阿里巴巴技术演进与超越

12、大型网站系统与Java中间件实践

13、架构探险—从零开始写Java Web框架

14、架构探险:从零开始写分布式服务框架

15、软件架构师的12项修炼

16、Web信息架构设计大型网站

17、深入分析Java Web技术内幕(修订版)

18、实用负载均衡技术:网站性能优化攻略

19、ZeroC Ice权威指南

20、架构之美

从过去到未来

  • 从web server到web container
  • Servlet从NIO到WebSocket
  • 同步到异步

架构演进.jpg

AFK拆分原则

  • 前后端分离原则
  • 服务无状态原则
  • 通信无状态原则

微服务划分参考AKF.jpg



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10088 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12076 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13891 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9161 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4660 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4506 0
+关注
14
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载