
架构
文章平均质量分 91
架构
程序员子涵
交个朋友 wx: CXYzihan (注明来意)
分享编程中的遇到的坑,成长爬坑记录,这里有三板斧,王婆本人切瓜,包甜,让你在编程路上不迷路!
一个专注于鸿蒙OpenHarmony c/c++/Linux程序员情怀 走向全栈 最终归属于架构.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
为什么说要搞定微服务架构,先搞定RPC框架?
今天开始聊一些微服务的实践,第一块,RPC框架的原理及实践,为什么说要搞定微服务架构,先搞定RPC框架呢?一、需求缘起服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦,如下图:服务A是欧洲团队提供服务,欧洲团队的技术背景是Java,可以用Java实现服务;服务B是美洲团队提供服务,可以用C++实现服务;服务C是中国团队提供服务,可以用Go实现服务;服务的上游调用方,按照接口、协议即可完成对远端服务的调用。但实际上,99.9%的公司的团队规模有限,技术团原创 2021-06-07 14:32:54 · 215 阅读 · 0 评论 -
系统架构设计
...转载 2020-02-16 14:43:17 · 551 阅读 · 0 评论 -
白话插件框架原理
本文将用尽可能简单的文字来描述插件框架原理。很多人以为插件化很复杂,所以就一直将这类框架阻挡在门外。实际上,在我们的实践过程中,从框架的使用角度来看,它非常简单,我们团队里面非正规院校毕业的女生也可以来实际使用。如果说插件框架难的地方,我反倒觉得克服人的天然惰性更加困难。我们不能习惯于墨守成规,日复一日年复一年,按照相同的模式来开发,将自己打造成一部“编码机器”,成为没有价值的“程序猿/媛”。使用...转载 2020-02-13 05:50:20 · 343 阅读 · 0 评论 -
解构领域驱动设计(三):领域驱动设计
在上一部分,分层架构的目的是为了将业务规则剥离出来在单独的领域层中进行实现。再回顾一下领域驱动设计的分层中应用层代码的实现。@Overridepublic void pay(int orderId, float amount) { DesignerOrder order = designerOrderRepository.selectByKey(orderId); // 领域对象的...转载 2020-02-13 05:19:06 · 712 阅读 · 0 评论 -
解构领域驱动设计(一):为什么DDD能够解决软件复杂性
1 为什么我要研究领域驱动设计1.1 设计方法各样且代码无法反映设计我大概从2017年10月份开始研究DDD,当时在一家物流信息化的公司任职架构师,研究DDD的初衷在于为团队寻找一种软件设计的方法论。作为架构师,经常参与设计评审,包括:需求评审、设计评审、代码评审。在评审过程中,有一点感受非常深,就是评审过程非常痛苦且几乎没有效率和成果。让我痛苦的地方有:每一个系统分析师都是基于自己的方式...转载 2020-02-13 04:49:45 · 412 阅读 · 0 评论 -
解构领域驱动设计(二):分层架构
反映业务规则的代码是整个软件的核心,但是它一般只占很小的一部分,在传统的基于贫血模型的分层软件架构中,业务规则可能分散到各个层、各个代码段,从而使得通过代码来还原业务规则或者保证代码与业务规则一致将变得非常困难。DDD分层架构的核心思想就是将所有业务规则的代码抽取到领域层,保证领域层的编码与领域模型是完全一致的。下图是DDD的分层架构。一定要牢记:DDD分层架构一个核心任务,就是将软件最重要...转载 2020-02-13 04:37:55 · 388 阅读 · 0 评论 -
构建高性能服务的考量
做一款互联网产品,人们往往立马就想到了海量用户、海量数据、高并发、高性能。所以起初做架构设计时就把性能提到了一个不得不做的地位。我个人是很反对这种“未雨绸缪”的方式的,因为对于一个新应用来说获取一个互联网用户的成本并不小,而且“海量”不是短期内就会面临的。所以请建议您最好先在基于投入产出比的考量下对快速实现 OR 性能重要程度做出权衡后再做考虑,最好先实现应用再做优化,过早优化是万恶之源这句话不是...转载 2020-02-10 07:21:02 · 254 阅读 · 0 评论 -
服务端架构中的“网关服务器”
这么一个场景:一个要承载高并发、具有高性能的后台服务,往往会有多个不同的应用服务。问题来了,你会怎样设计架构呢?如下图所示,为了共用一个稳定高效的网络处理功能,把所有服务写在一个进程里。接下来悲剧一幕幕就要上演了,如果各个模块是多人协作开发,网络库的作者得想办法设计个插件机制供各个应用挂载,开发时无论是人员或者代码都耦合非常严重,大大影响协作、开发效率,后期要增减一个应用也得大动手脚。好吧,...翻译 2020-02-10 07:13:02 · 4339 阅读 · 2 评论 -
C++插件架构浅谈与初步实现
一、插件架构初步介绍说到插件架构,或许大部分IT从业者都听过或者某些牛人也自己实现过稳定高效的插件框架。目前有很多软件以及库都是基于插件架构,例如PS、我所在行业的GIS软件如Arcgis、QGIS、还比如开源图形引擎OGRE以及OSG,这些都是插件架构,通过插件架构来进行功能的扩展。那到底什么是插件架构呢?我的理解是系统运行时在需要某个功能的时候动态加载的模块,插件通常用动态链接库实现,当然也...转载 2020-02-02 17:48:30 · 577 阅读 · 0 评论 -
架构师成长之路(6)--技术深度和广度
一、技术的深度说到技术深度,深到底多深才叫有深度,是不是技术钻研的越就显得越牛逼,那学一门技术要怎么学才叫有深度的学?学任何的知识都要形成一个体系,才...转载 2020-01-24 14:05:34 · 1761 阅读 · 0 评论 -
架构设计(8)—高可用架构设计
高可用架构设计总结:前言:海恩法则和墨菲定律海恩法则· 事故的发生是量的积累的结果。· 再好的技术、再完美的规章 , 在实际操作层面也无法取代人自身的素质和责...转载 2020-01-24 14:00:45 · 1182 阅读 · 0 评论 -
架构设计(7)—如何设计一个架构
愿景已经确定架构愿景和目标。需求分析明确架构要解决当前什么问题。那接下来就是如何着手开始做架构设计。 一、如何开始设计一个架构:方式方法...转载 2020-01-24 13:59:14 · 2744 阅读 · 0 评论 -
架构设计(6)-架构需求分析
...转载 2020-01-24 13:57:13 · 1020 阅读 · 0 评论 -
架构设计(5)-架构愿景分析
架构愿景实际是回答了哲学家经常思考的三个问题:我是谁? (问题是什么,现状)从哪里来? (原因:为什么出现问题)到哪去? (愿景和目标是什么)一、前言:架构设...转载 2020-01-24 13:55:23 · 1275 阅读 · 0 评论 -
架构设计(4)--API网关
1、前言所在公司目前接入层是阿里云的SLB,然后经过Nginx+Lua转发到后端服务(Lua主要是限流)。 随着业务的发展,发现nginx配置越来越复杂,但又没有统一的管理,于是把Nginx这层改造成基于 OpenResty的Nginx 应用的API Gateway。于是上网总结和梳理网关相关知识。问题:由于我们使用的服务系统架构,所以没办法像传...转载 2020-01-24 13:53:10 · 1416 阅读 · 0 评论 -
架构师成长之路(4)--架构师知识体系(方法)
前言:哲学家常思考的问题:" 我是谁?"" 我从哪里来?"" 要到哪里去?不只是哲学家,我想每个人都有自己对这三个问题的认知。 如果我们要成为架构师,我们自己要面临的三大问题:找准自己定位:我是谁?在哪里?怎样做好架构师:我要做什么?如何搭建架构师知识体系:我该怎么做?这里面就是做事方法论:目...转载 2020-01-24 13:50:38 · 1377 阅读 · 0 评论 -
架构师成长之路(3)--如何成为架构师(方法)
前言:哲学家常思考的问题:" 我是谁?"" 我从哪里来?"" 要到哪里去?不只是哲学家,我想每个人都有自己对这三个问题的认知。如果我们要成为架构师,我们自己要面临的三...转载 2020-01-24 13:49:03 · 1003 阅读 · 0 评论 -
架构师成长之路(2)--架构师必备技能(目标)
前言:"比你牛B的人比你还努力,你有什么资格不去奋斗"哲学家常思考的问题:" 我是谁?"" 我从哪里来?"" 要到哪里去?不只是哲学家,我想每个人都有自己对这三个问题...转载 2020-01-24 13:46:40 · 480 阅读 · 0 评论 -
架构设计(3)--架构模式
...转载 2020-01-24 13:42:00 · 801 阅读 · 0 评论 -
架构设计(2)-架构设计原则
如何设计出一个好的架构,不像数据公式或者定律,很难一概而就。很多时候是设计者(架构师)的各种设想,各种权衡折中而符合系统需求的智慧输出。但我们掌握前人总结的经验,让我们站在巨人的肩膀上高山远瞩。一些好的架构设计原则可以确保设计决策在一定程度...转载 2020-01-24 13:34:06 · 645 阅读 · 0 评论 -
架构师成长之路(1)--什么是架构师
前言:哲学家常思考的问题:" 我是谁?"" 我从哪里来?"" 要到哪里去?不只是哲学家,我想每个人都有自己对这三个问题的认知。 如果我们要成为架构师,我们自己要面临的...转载 2020-01-24 13:28:04 · 382 阅读 · 0 评论