当前位置: 首页 > news >正文

架构设计笔记-14-云原生架构设计理论与实践

知识要点

云原生(Cloud Native)架构原则

  1. 服务化原则:通过微服务架构,小服务(MiniService)架构把不同生命周期的模块分离出来,分别进行业务迭代,避免迭代频繁模块被慢速模块拖慢,从而加快整体进度和稳定性。同时服务化架构以面向接口编程,服务内部的功能高度内聚,模块间通过公共功能模块的提取增加软件的复用程度。强调使用服务化的目的在于从架构层面抽象化业务模块之间的关系,标准化服务流量传输,从而帮助业务模块进行基于服务流量的策略控制和治理。
  2. 弹性原则:系统的部署规模可以随着业务量的变化而自动伸缩,无须事先规划固定的硬件和软件资源。
  3. 可观测原则:主动通过日志/链路跟踪和度量等手段,使得一次点击背后的多次服务调用的耗时/返回值和参数都清晰可见,甚至可以下钻到每次三方软件调用,SQL请求,节点拓扑,网络响应等,这样的能力可以使运维/开发和业务人员实时掌握软件运行情况,并结合多个维度的数据指标,获得前所未有的关联分析能力,不断对业务健康度和用户体验进行数字化衡量和持续优化。
  4. 韧性原则:当软件所依赖的软硬件组件出现异常时,软件表现出来的抵御能力。韧性从多个维度诠释了软件持续提供业务服务的能力,核心目标时提升软件的平均无故障时间(Mean Time Between Failure,MTBF)。
  5. 所有过程自动化原则:通过IaC(Infrastructure as Code)、GitOps、OAM(Open Application Model)、Kubernetes Operator和大量自动化交付工具在CI/CD流水线中的实践,一方面标准化企业内部的软件交付过程,另一方面在标准化的基础上进行自动化,通过配置数据自描述和面向终态的交付过程,让自动化工具理解交付目标和环境差异,实现整个软件交付和运维的自动化。
  6. 零信任原则:核心思想是,默认情况下不应该信任网络内部和外部的任何人/设备/系统,需要基于认证和授权重构访问控制的信任基础,诸如IP地址、主机、地理位置、所处网络等均不能作为可信的凭证。本质诉求是,以身份为中心进行访问控制。
  7. 架构持续演进原则:非封闭式架构。

云原生主要架构模式

  1. 服务化架构模式
  2. Mesh化架构模式
  3. Serverless模式:适合于事件驱动的数据计算任务、计算时间短的请求/响应应用、没有复杂相互调用的长周期任务。
  4. 存储计算分离模式:在云环境中,把各类暂存数据(如session)、结构化和非结构化持久数据都采用云服务保存,从而实现存储计算分离。
  5. 分布式事务模式
  6. 可观测架构:包括Logging、Tracing、Metrics三分方面。
  7. 事件驱动架构 (EDA,Event Driven Architecture):本质是一种应用/组件间的集成架构模式。与传统消息不同,事件具有schema,可以校验event的有效性。EDA还具备QoS保障机制,能够对事件处理失败进行响应。

Storm 之父 Nathan Marz 提出了他认为大数据系统应该具有的属性,包括:鲁棒性和容错性、低延迟读取和更新能力、横向扩容、通用性、延展性、即席查询能力、最少维护能力、可调试性

 

案例分析

1.基于家庭网关/基于云平台的智能家居系统

2.web架构设计,分布式架构

http://www.lryc.cn/news/462976.html

相关文章:

  • leetcode hot100 之【LeetCode 206. 反转链表】 java实现
  • 基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(上)
  • Spring Boot + Vue 前后端分离项目总结:解决 CORS 和 404 问题
  • JVM篇(学习预热 - JVM正式展开 - (实战课程学习总结))(持续更新迭代)
  • WebGL编程指南 - 入门续
  • EPS导出DWG存在地物缺失或者没有编码属性的情况
  • 跨境业务收款难?Zoho Books来帮忙
  • 深入解析 Harris 角点检测算法:从孔径问题到响应函数的完整推导
  • 抖音视频制作怎么暂停画面,抖音视频怎么让它有暂停的效果
  • Android GPIO方式解码红外数据
  • 基于SpringBoot+Vue的益农智慧服务平台【提供源码+答辩PPT+参考文档+项目部署】
  • 基于springboot的在线考试与学习交流网页
  • JS异步编程进阶(二):rxjs与Vue、React、Angular框架集成及跨框架状态管理实现原理
  • nginx web代理
  • 人形机器人的关节控制
  • python 爬虫 入门 二、数据解析(正则、bs4、xpath)
  • PTX 汇编代码语法
  • 【mysql】统计两个相邻任务/事件的间隔时间以及每个任务的平均用时
  • RHCE——笔记
  • Spring Boot在知识管理中的应用
  • OpenCV高级图形用户界面(14)交互式地选择一个或多个感兴趣区域函数selectROIs()的使用
  • 字节青训营入营考核部分题解
  • Android调用系统打印图片
  • 网络最快的速度光速,因此‘‘光网络‘‘由此产生
  • WPF -- LiveCharts的使用和源码
  • spring 如何将mutipartFile转存到本地磁盘
  • 【学术会议-6】激发灵感-计算机科学与技术学术会议邀您参与,共享学术盛宴,塑造明天的科技梦想!
  • 模电基础(晶体管放大电路)
  • Python3 接口自动化测试,HTTPS下载文件(GET方法和POST方法)
  • rhce:列行性(at和cron)