技术# 架构
文章平均质量分 70
架构本质上就是一种指导型的约束,以约定整体和部分、部分和部分之间的关系,以使整体更加稳定,更加可靠。
summer_west_fish
本科毕业深圳大学,拥有Java开发10年的经验。 拥有Devops、敏捷和项目管理多年的经验,并且获得PMP、ACP和DOP等相关证书。
展开
-
架构师之殇,来自于1998年的天花板诅咒?
因此要解决1998年服务器天花板问题则需要更换服务器操作系统及其软件生态栈,使用异数OS这样的服务器操作系统才可以充分利用新硬件的iops性能,实现支持每节点100G到1.6T带宽的服务器,iops性能是通用服务器操作系统的2到4个数量级,目前异数OS 元宇宙demo已上架steam,10万人同服同屏,单节点200G到1.6T设计带宽,欢迎体验研究。阿里云的百兆服务器价格月租16000,这大概是20年前idc百兆服务器租金的50倍左右,所以摩尔定律是倒退了还是病情更恶化了,答案呼之欲出。转载 2024-04-07 14:55:25 · 48 阅读 · 0 评论 -
端到端架构设计(End-to-End Architecture Design)
端到端架构设计通常需要考虑多个技术栈和平台,如云计算、大数据、人工智能等,以确保系统的可扩展性、稳定性和灵活性。端到端架构设计是一个复杂而重要的过程,需要综合考虑业务需求、技术要求、平台选择等多个方面,以确保系统的成功实现和长期稳定运行。数据存储:选择合适的数据存储方案,如关系型数据库、NoSQL数据库、分布式文件系统等,以确保数据的高效访问和管理。数据源:了解数据的来源,包括数据的格式、结构、质量等,并确定如何获取和集成这些数据。需求分析:了解业务需求和数据需求,明确系统的目标和功能。原创 2024-03-02 01:28:21 · 544 阅读 · 1 评论 -
企业架构TOGAF?
企业架构(Enterprise architecture)是指整个公司或企业中软件和其他技术的整体视图和方法。通常,企业架构不仅仅是组织各种内部基础设施的结构。相反,我们的目标是通过以正确的方式分析、设计、规划和实施正确的技术,为业务需求提供真正的解决方案。越来越多的企业架构还包含其他业务需求,如业务流程管理和数据分析。因此,有组织的企业架构的目标是成功地执行具有效率、效率、敏捷性和安全性的业务战略。原创 2024-02-02 17:06:48 · 747 阅读 · 0 评论 -
微服务 BFF 架构设计
在现代软件开发中,由于程序、团队、数据规模太大,需要把企业的业务能力进行复用,将领域服务剥离,提供通用能力,避免重复建设和代码;另外服务功能的弹性能力不一样,比如定时任务、数据同步明确的技术诉求,甚至一些“政治”因素,微服务架构成为了势不可挡的趋势席卷而来。随着微服务架构和前后端分离思想的流行,BFF 也是微服务架构必须考虑的一个设计组件。原创 2023-10-10 11:58:54 · 444 阅读 · 0 评论 -
DDD项目落地之充血模型实践
实体中带有具有行为方法和聚合关联关系,行为方法是说create、save、delete等封装了一类可以指代行为的方法,比如在用户实体对象中具有用户组实体的引用,这样当我们需要操作用户组时,只通过用户实体进行操作就可以。2)创建新实体,将该实体的使用场景明确至某个细分行为,比如一个聚合根(ExampleEntity)的保存可能涉及到5个实体的保存,那么我们定义一个ExampleSaveEntity实体,专门用来处理该聚合下的保存行为。1)创建工具类,将某个实体中的行为定义其中,实体负责调用该工具类。原创 2023-10-02 22:38:29 · 411 阅读 · 0 评论 -
DDD 与 CQRS 才是黄金组合
在日常工作中,你是否也遇到过下面几种情况:使用一个已有接口进行业务开发,上线后出现严重的性能问题,被老板当众质疑:“你为什么不使用缓存接口,这个接口全部走数据库,这怎么能抗住!开发一个后台管理功能,业务反馈说数据一直不对,对比后发现缓存与数据库不一致,为什么要使用缓存接口呢,你陷入沉思?产品要求在 xxx 上增加新功能,编码、测试、上线一气呵成,最后发现另外一个流程被躺枪,出现异常不得不进行回滚!在一个高并发的场景,DB 成为了系统瓶颈,不加索引查询扛不住,加索引更新扛不住,又该如何处理?原创 2023-09-09 15:14:39 · 311 阅读 · 0 评论 -
什么人可以被称为架构师?
很多厂把人才分为各种等级,每个级别的人能力模型也不一样,有一个层级职责描述就是架构师级别。也有各种各样的title,什么业务架构师,技术架构师,系统架构师,为什么定义这么多呢?可能很多人会说,这是小公司的要求,但是大公司也需要,尤其是在这个缩减的年代,资本更倾向于更优秀的人才,一个能打的就行。全面的人,而现实中少有,但是也不是没有。见到多的都是手中无剑,心中有剑的技术高手,而全面的则少的可怜。那么回到题目本身,什么人可以被称为架构师,说说我的拙见。做技术太单一,除非独一无二,要么你就只能到处换地了。原创 2023-09-09 14:20:12 · 82 阅读 · 0 评论 -
架构的本质和架构分类
Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应该关注哪一个?转载 2022-09-27 09:55:50 · 655 阅读 · 0 评论 -
架构设计的分层架构
首先,我们得理解层的概念,层就是软件的逻辑单元每一层解决一个特定的问。比如,HTTP的7层架构。还有我们在开发过程中接触的controller service do 我说的这些都是分层架构中的某一层。所以分层架构在我们的架构设计中有着很重要的地位。一般我们在做系统设计的时候,都是有从web controller entity ,从外到内,越往里走越抽象。就像web层只关注用户的交互,controller层只关注请求的转发。2、我们说了什么是分层架构,并且阐述了架构的优缺点,那么我们如何实现一个分层架构呢?原创 2023-06-19 11:36:35 · 456 阅读 · 0 评论 -
复杂业务系统的通用架构设计法则
生活中我们经常谈及 “架构”,那么到底什么是 “架构”:Robert C.Martin《架构整洁之道》中的定义:软件架构是指设计软件的人为软件赋予的形状,这个形状是指系统如何被划分为组件 (Components),各个组件如何排列(Arrangement),组件之间如何沟通(Communication,通讯)有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计IEEE 的定义:架构 = 组成单元的结构 + 组成单元的关系 + 原则和指南整体:强调部分的组成,强调合力。原创 2023-06-15 11:27:59 · 304 阅读 · 0 评论 -
观察者模式 vs 发布订阅模式
观察者模式观察者模式,其实就是为了实现松耦合(loosely coupled)。举个例子,当数据有更新,如 changed() 方法被调用,用来更新 state 数据,比如温度、气压等等。这样写的问题是,如果想更新更多的信息,比如说湿度,那就要去修改 changed() 方法的代码,这就是紧耦合的坏处。对于观察者模式,我们仅仅维护一个可观察者对象即可,即一个 Observable 实例,当有数据变更时,它只需维护一套观察者(Observer)的集合,这些 Observer 实现相同的接口,Subject原创 2021-04-09 10:40:36 · 144 阅读 · 0 评论 -
设计模式的六大原则
设计模式的六大原则1、开闭原则(Open Close Principle)2、里氏代换原则(Liskov Substitution Principle)3、依赖倒转原则(Dependence Inversion Principle)4、接口隔离原则(Interface Segregation Principle)5、迪米特法则,又称最少知道原则(Demeter Principle)6、合成复用原则(Composite Reuse Principle)1、开闭原则(Open Close Principle)原创 2020-08-03 14:10:26 · 105 阅读 · 0 评论 -
设计模式分类
设计模式分类创建型模式结构型模式行为型模式根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。当然,我们还会讨论另一类设计模式:J2EE原创 2020-08-03 12:24:10 · 81 阅读 · 0 评论