首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 软件架构 6 个方面

    所谓 “架构”,就是将软件的结构打好,然后在结构内按部就班的施工就好了。软件架构 6 个方面软件架构涉及六个维度,分别是 “稳定性”、“高性能”、“一致性”、“扩展性”、“观察性” 和 “安全性”。 没有最好的架构,只有合适的架构。合适的架构就是在对这些维度的平衡与取舍,以最大程度的支撑当前业务的运行。每个方面包含的内容稳定性,异步、调度、容错、隔离、熔断、限流、降级、故障恢复。 这也印证了 “架构是演化出来的,不是一蹴而就的。”可以说这个是 “架构” 的 “架构” 吧,以后只需要完善这个结构,往这个结构中不断添加工具、方法、经验就好了。

    26710编辑于 2024-03-25
  • 来自专栏超级架构师

    Envoy架构概览(6):异常检测

    异常值检测和弹出是动态确定上游群集中的某些主机是否正在执行不同于其他主机的过程,并将其从正常负载平衡集中移除。 性能可能沿着不同的轴线,例如连续的故障,时间成功率,时间延迟等。异常检测是被动健康检查的一种形式。 特使还支持主动健康检查。 被动和主动健康检查可以一起使用或独立使用,形成整体上游健康检查解决方案的基础。 弹射算法 取决于异常值检测的类型,弹出或者以行内(例如在连续5xx的情况下)或以指定的间隔(例如在定期成功率的情况下)运行。 弹射算法的工作原理如下: 主机被确定为异常。 特使检查以确保弹出

    1.2K60发布于 2018-04-09
  • 来自专栏超级架构师

    【服务网格架构】Envoy架构概览(6):异常检测

    配置参考 集群管理器全局配置 每个群集配置 运行时设置 统计参考 微信公众号 关注微信公众号【首席架构师智库】 微信小号 希望加入的群:架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发 点击加入知识星球【首席架构师圈】 微信圈子 志趣相投的同好交流。 点击加入微信圈子【首席架构师圈】 喜马拉雅 路上或者车上了解最新黑科技资讯,架构心得。 点击,收听【智能时刻,架构君和你聊黑科技】 知识星球 认识更多朋友,职场和技术闲聊。 点击加入知识星球【知识和技术】

    59150发布于 2020-07-20
  • 来自专栏超级架构师

    【企业架构】投资企业架构工具的 6 个理由

    企业架构旨在为企业 IT 的广阔领域及其蓬勃发展的机器和软件集合带来秩序,这是几十年前无法想象的聚宝盆。台式机、平板电脑、手机——一目了然的屏幕。 以下是您的组织值得投资企业架构解决方案的六个原因——以及在依赖 EA 工具时需要牢记的一些问题。 企业架构工具远远超出列表。它们为世界增添了秩序,提供了大量关于通过您企业无穷无尽的硬件收集的大量比特的信息。 然而,重要的是要记住,工具不提供秩序。人们这样做。企业架构工具只是提供建立秩序的手段。 企业架构工具仍然是解决方案,但它们并不神奇。他们承诺维护数据。它们只是您的团队带来秩序的途径。他们不会自己带来秩序。 企业架构打破孤岛 随着差异的增加,组织可能会遭受孤立。 安装企业架构软件不会解决这些深刻的差异,但它会更容易发现这些差异。在企业架构工具中对企业资产进行编目的过程揭示了许多区别,这是建立某种统一性的第一步。中央数据库是变革的催化剂。

    50520编辑于 2022-07-29
  • 来自专栏闲余说

    架构设计 6-高可用架构之高可用计算架构

    导读:《架构设计》系列为极客时间李运华老师《从0开始学架构》课程笔记。本文为第六部分,主要介绍高可用计算架构,介绍了高可用架构设计的要点以及不同架构方式的优缺点。 主备 主备架构是计算高可用最简单的架构,和存储高可用的主备复制架构类似,但是要更简单一些,因为计算高可用的主备架构无须数据复制 详细设计 主机执行所有计算任务 当主机故障(例如,主机宕机)时,任务分配器不会自动将计算任务发送给备机 缺点:主从架构需要将任务分类,任务分配器会复杂一些。 集群 计算高可用集群包含 2 台服务器的集群,这点和存储高可用集群不太一样。 存储高可用集群把双机架构和集群架构进行了区分;而在计算高可用集群架构中,2 台服务器的集群和多台服务器的集群,在设计上没有本质区别,因此不需要进行区分 对称集群 通俗的叫法是负载均衡集群。 个人思考 相对高可用存储架构,计算架构相对简单,不涉及数据同步和一致性。关键点在于如何将请求路由到合适的实例上。 reference 从 0 开始学架构

    70930编辑于 2022-08-19
  • 来自专栏深度学习与python

    6种事件驱动的架构模式

    架构还具有更高的可伸缩性和解耦性,因为状态管理完全从服务中移除,并且不需要对查询进行数据聚合和维护。 考虑一下这种情况,将所有 Wix 用户的联系方式导入 Wix 平台。 v=7O_UC_i1XY0 6事件聚合 当你想知道整个批次的事件已经被消费时 在上半部分,我描述了在 Wix 将联系人导入到 Wix CRM 平台的业务流程。后端包括两个服务。 KVAtomicStore(例如,请求 Id 为 YYY 的导入作业 3 已经完成): Atomic Store 将生成一条新消息到 job-completed-commands 主题,键为 YYY-6, 接下来,Atomic Store 的消费者 - 生产者对将消费此消息,并增加 KV Store 主题中键 YYY-6 的已完成作业计数。   ://medium.com/wix-engineering/6-event-driven-architecture-patterns-part-2-455cc73b22e1 本周好文推荐 Mozilla

    3.9K20编辑于 2023-04-01
  • 来自专栏一个会写诗的程序员的博客

    架构设计模式—6大设计原则

    架构设计原则 6大设计原则 Single Responsibility Principle  : 单一职责原则 Liskov Substitution Principle : 里氏替换原则 6 内容耦合: 这是最高程度的耦合,也是最差的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。 内聚性又称块内联系。 6 功能内聚: 这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。与其他模块的耦合是最弱的。

    2K60发布于 2019-07-04
  • 来自专栏编程进阶实战

    浅谈6种流行的API架构风格

    本篇文章将浅谈一下当前6种流行的API架构风格的优点、缺点以及适用场景。 6种流行的API架构风格图SOAP SOAP全拼:Simple Object Access Protocol 优点:SOAP 是一种基于 XML 的通信协议,具有良好的跨平台和跨语言支持。 RESTful RESTful全拼:Representational State Transfer 优点:RESTful 一种基于现有 Web标准和 HTTP协议的设计和构建网络应用程序的架构风格,旨在提供一种简洁 适用场景:gRPC 适用于构建分布式系统和微服务架构,特别是那些需要高性能和强类型约束的场景。WebSocket优点:WebSocket 提供了全双工通信的能力,允许服务器主动向客户端推送数据。 总结这些 API 架构风格都各有优点和适用场景,您可以根据具体需求选择适合的架构风格来构建和设计 API。

    84900编辑于 2024-01-12
  • 来自专栏软件研发

    架构设计模式—6大设计原则

    架构设计模式—6大设计原则架构设计是软件开发中非常重要的一环,良好的架构可以提高软件系统的可维护性、可扩展性和可重用性。在架构设计过程中,遵循一定的设计原则可以帮助我们构建合理的架构。 本文介绍6大常用的架构设计原则,他们是:单一职责原则(Single Responsibility Principle, SRP) 单一职责原则要求一个类或模块只负责完成一项职责。 以上6大设计原则是架构设计过程中常用的准则,不同的原则可以结合使用,根据具体的应用场景进行选择。遵循这些原则可以帮助我们构建高质量的软件系统。

    2.3K41编辑于 2023-11-02
  • 来自专栏Linyb极客之路

    高可用架构6大常规方案

    什么是高可用架构 在介绍高可用架构的方案之前,先说一下什么是高可用架构,高可用架构应具备但不限于以下特征: 主从切换 很好理解,当其中一台机器的服务宕机后,对于服务调用者来说,能够迅速的切换到其他可用服务 高可用架构中应该具有丰富的负载均衡策略和易调节负载的方式。 甚至可以自动化智能调节,例如由于机器性能的原因,响应时间可能不一样,这时候可以向性能差的机器少一点分发量,保证各个机器响应时间的均衡。 业务中接触到的6种高可用方案 LVS+Keepalive LVS的全称是linux visural server,即虚拟的linux机器,这个名称再恰当不过了。该方案的实现大概是这样的。

    3.9K20发布于 2021-09-23
  • 来自专栏小白晋级大师

    分布式系统架构6:链路追踪

    这是小卷对分布式系统架构学习的第6篇文章,关于链路追踪,之前写过traceId的相关内容:https://juejin.cn/post/7135611432808218661,不过之前写的太浅了,且不成系统 收集和存储日志特点是需支持分布式日志采集方案,一般还会用MQ作为缓冲每个机器上有个daemon,这里的daemon指的后台服务进程,专门用于日志收集和Trace转发;多级collector,类似pub/sub架构 6.链路追踪协议链路追踪协议的发展历史,2016 年 11 月,CNCF 技术委员会接受了 OpenTracing 作为基金会的第三个项目。

    41310编辑于 2025-01-01
  • 来自专栏日积月累1024

    架构整洁之道 3~6章读书笔记

    这种反转对软件架构设计的影响是非常大的。 通过依赖反转,软件架构师可以完全控制采用了面向对象这种编程方式的系统中所有的源代码依赖关系,而不再受到系统控制流的限制。 本章小结 面向对象编程就是以多态为手段来对源代码中的依赖关系进行控制的能力,这种能力让软件架构师可以构建出某种插件式架构,让高层策略性组件与底层实现性组件相分离,底层组件可以被编译成插件,实现独立于高层组件的开发和部署 第6章 函数式编程 函数式编程语言中的变量(Variable)是不可变(Vary)的。 不可变性与软件架构 一切并发应用遇到的问题,一切由于使用多线程、多处理器而引起的问题,如果没有可变变量的话都不可能发生。 一个架构设计良好的应用程序应该将状态修改的部分和不需要修改状态的部分隔离成单独的组件,然后用合适的机制来保护可变量。

    55410发布于 2021-06-11
  • 来自专栏巴啦啦的积累

    架构整洁之道》第 6 章 函数式编程

    不可变性与软件架构所有的竞争问题,死锁问题,并发更新问题,都是由于可变变量导致的。所以我们应该关注不可变性。 可变形的隔离一个架构设计良好的应用程序,应当将程序的内部服务进行切分,分为可变和不可变的组件,不可变组件使用纯函数的方式来执行任务,期间它不更改任务状态和变量(应当也包含数据库)。

    28660编辑于 2023-05-23
  • 来自专栏明明如月的技术专栏

    软考高级架构师:IPv6

    一、AI 讲解 IPv4和IPv6是互联网协议(IP)的两个版本,它们是全球互联网的基础。IPv4是目前最广泛使用的版本,而IPv6是为了解决IPv4地址耗尽问题而设计的下一代IP协议。 IPv6的特点 更大的地址空间:IPv6的最大特点是其几乎无限的地址空间,理论上可以为地球上的每一粒沙子分配一个独一无二的IP地址。 IPv6地址由128位组成,提供了极大的地址空间。 B. 使用冒号十六进制。IPv6地址使用8组4个十六进制数表示,每组之间用冒号分隔。 C. 多播。 IPv6中不支持广播,而是使用多播技术进行一对多的通信。 B. SLAAC。IPv6支持无状态地址自动配置(SLAAC)和DHCPv6作为自动配置方法。 C. IPSec。 IPv6原生支 持IPSec,为数据传输提供了身份验证和数据加密的安全措施。 6. C. 一连串的0。IPv6地址中的双冒号(::)用于表示一连串的0,以简化地址的表示。 7. A. 正确。

    54300编辑于 2024-05-25
  • 来自专栏EdisonTalk

    聊聊 ASP.NET 6 整洁架构开发模板

    最近看了一些整洁架构(CleanArchitecture)的文章,自己和同事也简单写了一个基于整洁架构的ASP.NET 6开发模板在玩。 DDD的分层架构就有好多种,例如整洁架构、CQRS和六边形架构等等,每种架构模式虽然提出的时代和背景不同,但其核心理念都是为了设计出“高内聚低耦合”的架构,从而能够实现架构的演进。 整洁架构模板搭建 这里我试着搭建了一个基于ASP.NET 6的开发模板,展示层有两种可选:ASP.NET WebAPI / Blazor。 (6)Application.UnitTests项目引用:Application (7)Domain.UnitTests项目引用:Domain (8)Web.IntegrationTests项目引用:Web Taylor,《Clean Architecture with .NET Core: Gettting Started》 欧创新,极客时间《DDD实战课》 Jacky Fei,《基于ASP.NET 6的整洁架构

    99750编辑于 2023-07-09
  • 来自专栏让技术和时代并行

    提高软件交付速度的6架构策略

    这其中有4个关键指标(主要参考了软件架构实践第4版) 提高软件交付速度的6架构策略 1. 灰度发布 支持最小化金丝雀发布、A/B 测试、滚动升级,自动化控制新老版本的上线和升级。 2. 6. 功能切换 通过一些配置控制项来保证线上的服务的鲁棒性,出现问题之后可以通过一些特性开关选择打开或者关闭一些功能,避免一些不必要的问题的发生。

    44110编辑于 2023-12-18
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    软件架构设计的6大原则

    当然,如果能够确保对整体架构不会产生任何影响,那么也没必要搞得那么复杂了,直接改这个类吧。 3. 6. 只有满足了这六大原则,才能设计出稳定的软件架构!但它们毕竟只是原则,只是四人帮给我们的建议,有些时候我们还是要学会灵活应变,千万不要生搬硬套,否则只会把简单问题复杂化 补充设计原则 1. 6. 关注点分离(Separation of Concerns - SOC) 将一个复杂的问题分离为多个简单的问题,然后逐个解决这些简单的问题,那么这个复杂的问题就解决了。难就难在如何进行分离。

    1.8K41发布于 2019-07-25
  • 来自专栏嵌入式ARM和Linux

    MIPS架构深入理解6-异常和中断

    异常和中断概念在不同架构上的含义区别: MIPS架构将所有可以中断程序执行流的事件称为异常; X86架构将所有可以中断程序执行流的事件称为中断,我们日常所见的狭义上的中断,也就是外部中断,称之为异步中断 ;而狭义上的异常称为同步中断; ARM架构将这两个概念合起来使用-异常中断类似于MIPS架构的异常概念。 6 异常处理例程 下面是一个非常简单的异常处理程序,只是在增加计数器的值: .set noreorder .set noat xcptgen: la k0, xcptcount 类Unix系统一般都是基于这种思想进行设计的,一般使用4到6个IPL优先级。 嵌入式系统常常有大量的中断信号,远远超过传统的MIPS架构CPU的6个硬件输入。在EIC模式下,这6个以前相互独立的信号变成一个6位的二进制数:0代表没有中断,1-63表示不同的中断码。

    3.7K20编辑于 2022-08-15
  • 来自专栏云计算linux

    前端架构师之01_ES6_基础

    解决方法:标准的制定者决定在每年的6月份发布一次新标准,并且使用年份作为版本号。 年份 版本 简称 2015年6月 ECMAScript 2015 ES6 2016年6月 ECMAScript 2016 ES7 2017年6月 ECMAScript 2017 ES8 2018年6月 ECMAScript 2018 ES9 2019年6月 ECMAScript 2019 ES10 2020年6月 ECMAScript 2020 ES11 2 let和const关键字 2.1 let 关键字 let是ES6中新增的用于声明变量的关键字。 也就是拆解架构,重新赋值。 在ES6中,允许按照一一对应的方式,从数组或对象中提取值,然后将提取出来的值赋给变量。

    45910编辑于 2024-12-13
  • 来自专栏CSDN技术头条

    架构设计中的6种常见安全误区

    本文将讲述架构设计中需要避免出现的安全误区,以帮助我们研发人员设计出更安全健壮的软件架构。本文的举例既有硬件架构,也有软件架构,还有基础架构等等不同的架构,但其中原理适用于所有的架构设计。 下文将从兼容性设计误区,降低成本设计误区,数据和代码不分离的设计误区,封闭设计的误区,黑名单设计的误区,没有将安全列为设计目标之一的误区,总共6个方面来探讨设计安全误区的问题。 误区一:兼容性设计 兼容性越好的架构越能适应未来变化的需要,所以架构设计者会非常关注架构的兼容性设计,但是有些兼容性设计会带来严重的安全漏洞,这些安全漏洞甚至无法以简单的漏洞补丁方式修复。 误区二:降低成本设计 架构设计者也会非常关注架构的成本,能以最少的成本实现系统是体现设计者水平的重要标志,所以架构设计者的设计总有降低软硬件成本的倾向,这种倾向本没有错,但如果在错误的地方降了成本,给系统带来极大的安全风险 ,不管是最优秀互联网企业的架构师,还是最优秀传统企业的架构师都是这样。架构师或设计者们通常以自己的知识去判断是否能被攻击,但是大部分的架构师和设计者都不具备一定深度的安全知识,所以常常作出错误的判断。

    1.8K60发布于 2018-02-09
领券