![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构
文章平均质量分 72
帷幄庸者
这个作者很懒,什么都没留下…
展开
-
洞察设计模式的底层逻辑
原文链接:https://mp.weixin.qq.com/s/qRjn_4xZdmuUPQFoWMBQ4Q读后总结文章通过“底层逻辑”思想引入在设计模式的底层逻辑就是“找到变化,封装变化”。文章进一步引出“什么在变化,变化了什么”。文章并没有过多讨论设计模式,而是引出了一种基于业务场景,思考变化,归纳变化,并进一步灵活应用前人的设计经验,设计总结的原则,应对变化。其实设计模式就是经典场景的总结,但是不是唯一,要勤加总结,还可以有更多原则。注意避免潜意识的为了技术而技术,技术一定是应对特殊业务服务,尤其原创 2022-05-02 09:39:38 · 289 阅读 · 0 评论 -
架构之道-软件构建的设计方法-读书笔记
元设计方法是一种简单有效的分析与设计的技术,元设计方法=系统设计+项目设计。系统设计:将大系统分解为小模块/小组件的方式,可以为模块/组件的定义(结构、角色和语义)以及交互设计提供指导,输出系统的概要架构。项目设计:针对项目进度、成本和风险进行设计,可以作为系统集成的指导,并匹配相应方案以供执行和跟踪。当架构设计不充分或组织无法承受构建系统的压力的时候,就不应该冒险让团队启动系统的开发。设计的目标:首先满足客户的真实场景需求,同时设计必须是组织或团队能力和约束范围内。设计并不费时,时间紧迫有助于避免原创 2022-01-02 00:01:40 · 1219 阅读 · 0 评论 -
Keycloak 梳理
Keycloak[top]Keycloak为Web应用和Restful服务提供了一站式的单点登录解决方案。它的目标就是让应用的安全管理变得简单,让开发人员可以轻松地保护他们的应用程序和服务。并且Keycloak为登录、注册、用户管理提供了可视化管理界面,你可以借助于该界面来配置符合你需要的安全策略和进行用户管理。主要功能Keycloak实现了业内常见的认证授权协议和通用的安全技术,主要有:浏览器应用程序的单点登录(SSO)。OIDC认证授权。OAuth 2.0。SAML。多租户支持。身原创 2021-10-29 00:11:50 · 14490 阅读 · 0 评论 -
架构实战体会,结合《蔡学镛:架构的5个观察角度》
架构实战体会,结合《蔡学镛:架构的5个观察角度》架构是结构化的表征,结构重在看 ,会看才能发现其中的别有洞天之美。研究物理结构常常说:“横看成岭侧成峰,远近高低各不同”,通过不同的视角,会有不同的表征,如俯视图、正视图、侧视图,我们会有抽象思维能力(刻意练习),快速形成空间抽象图像。软件架构也是同样的思考方式,需要能够通过多视角观察,才能体会其门道,才能体会架构之美。在我日常的实战中,更多的是关注业务架构(需求)——>产品架构(功能、结构、行为)——>技术架构——>组织架构。重点说一下原创 2021-10-09 15:45:17 · 1171 阅读 · 0 评论 -
构建逆熵系统的思考
熵增是什么,结合你的系统,聊聊什么是熵增?什么是熵增熵增要首先从热力学定律说起:热力学第一定律:热量可以从一个物体传递到另一个物体,也可以与机械能或其他能量互相转化,但是在转换过程中,能量的总值保持不变能量守恒定律:能量既不会凭空产生,也不会凭空消失,它只会从一种形式转换为另一种形式,或者从一个物体转移到其他物体,而能量的总量保持不变【 理解“熵”的前提,是理解“能量”的价值 】所有事物的存在都有支持它存在的 “能量” ,这些“能量”因为在某段时间内,产生一个方向的作用力,促进事物的存在.原创 2021-08-29 23:41:43 · 1091 阅读 · 2 评论 -
DDD领域设计概念梳理
概念及说明理解领域领域与具体开发技术无关。就是你的软件系统要解决的实际问题相关的所有东西的集合。按问题域理解:每个限界上下文专注于解决某个特定的子域的问题,限界上下文可以理解为问题空间(Problem Space),随着设计和含义的清晰化,限界上下文会迅速的转换为解决方案空间(Solution Space)非常结构清晰的一张图领域的整体概念图限界上下文限界上下文(Bounded context)是一个显式边界(边界:通常是一个子系统或者一个特定团队的工作),领域模型存在于边界之内。建立模原创 2021-08-21 17:07:25 · 646 阅读 · 1 评论 -
延时任务中间件
原创 2021-07-12 00:50:52 · 143 阅读 · 0 评论 -
基于qiankun的微前端实践
若干子应用接入问题:1.子应用不能直接对外暴露,如果附着在主应用,如何处理代理2.浏览器的Route路径需要处理,满足既能匹配主项目,又能匹配子项目3.静态资源需要处理,满足可以直接访问到子应用资源的需求4.代理配置时候是否重写访问地址5.使用hash路由还是使用history路由?6.需要做到当浏览器直接访问路由地址,可以打开正确的页面7.子应用访问自己的后端,需要能够被父应用统一管理8.父子应用同步用户登录状态的问题基于nginx代理子应用的实践父应用约束:1.父应用中注册子应用原创 2021-07-11 23:33:24 · 459 阅读 · 0 评论 -
RocketMQ核心问题思考
客户端与broker建立的连接机制当长时间断连,当server恢复后,能否自动重连RocketMQ broker 的消息存储机制RocketMQ broker 的消息清理机制RocketMQ broker 的作用RocketMQ namesrv 的作用RocketMQ namesrv、broker的状态分析...原创 2021-02-05 02:41:37 · 249 阅读 · 0 评论 -
RocketMQ关键问题研究
文章目录RocketMQ的基本角色RocketMQ的高可用模式?NameServer有没有状态,为什么?Broker的自动选举高可用部署如果slave先master启动会不会有问题?RocketMQ中关键角色的通信问题(基于容器)?生产者重试机制?消费者的消息重试消息的存储的理解消息消费如何保障幂等?大消息直接进MQ会有什么影响,能不能使用(数kb~数百kb)?Tags的使用和理解Keys的使用和理解日志的打印NameServer内部的数据结构RocketMQ的事务消息是如何消息堆积的能力**消息可靠性理解原创 2020-08-04 20:56:21 · 1067 阅读 · 0 评论 -
程序员自我修养——提问的智慧
提问的智慧How To Ask Questions The Smart Way当你拋出一个技术问题时,最终是否能得到有用的回答,往往取决于你所提问和追问的方式。本指南将教你如何正确的提问以获得你满意的答案,教你如何从那些真正懂得你所遇到软件或硬件问题的人取得协助。本文来源自文章目录提问的智慧在提问之前当你提问时慎选提问的论坛Stack Overflow网站和 IRC 论坛第二步,使用项...原创 2020-03-07 12:27:24 · 855 阅读 · 1 评论 -
《架构整洁之道》-心得总结
架构整洁之道的作者是创造“Clean神话”的Bob大叔,作者总结了其数十年的软件从业经历,围绕构建整洁架构展开讨论,系统的分享了整洁架构的方方面面。 架构师要做什么。软件架构的价值可以在两方面体现,一方面是行为价值,其实就是功能性需求,另一方面是架构价值,其价值体现在非功能性需求,对于服务与系统可用性、可维护性、可测试性的追求。架构师作为软件建设的核心负责者,工作也应...原创 2020-02-09 14:01:37 · 798 阅读 · 0 评论 -
RocketMQ面面观
RocketMQ面面观Rocket基本概念1 消息模型(Message Model)RocketMQ主要由 Producer、Broker、Consumer 三部分组成,其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分片...原创 2020-01-13 23:09:16 · 1070 阅读 · 0 评论 -
微服务资料
微服务资料微服务理论相关Microservice Architecture Design PatternSpringCloud官方地址技术简介网址Spring Boot基础构建框架,用于快速整合各资源https://spring.io/projects/spring-bootSpring Framework底层容器https://spring.io...原创 2019-10-28 23:40:05 · 186 阅读 · 0 评论 -
领域驱动设计学习笔记
微服务到底怎么拆分和设计才算合理,拆多小才叫微服务。中台数字化战略转型,所谓中台,就是将通用的可复用的业务能力沉淀到中台业务模型,实现企业能力级的复用。DDD、微服务和中台之间的关系中台本质是业务模型,微服务是业务模型的系统落地,DDD 是一种设计思想,它可以同时指导中台业务建模和微服务设计,它们之间就是这样的一个铁三角关系领域驱动设计(DDD)解决服务拆多小,如何拆的问题基础篇主要讲...原创 2019-10-25 23:11:06 · 376 阅读 · 0 评论 -
Centos 安装Docker部署环境
Centos 安装Docker部署环境Docker安装官方参考链接# 安装一些必要工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加软件源信息sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/c...原创 2019-10-20 22:55:57 · 249 阅读 · 0 评论 -
云原生时代下的12-Factor应用原则
云原生时代下的12-Factor应用原则使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入这个项目。和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性。适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源。将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发。易拓展:可以在工具、架构和开发流程不发生明显变化的前提下实现扩展。I. 基准...原创 2019-03-17 04:04:18 · 2950 阅读 · 0 评论 -
SpringMvc项目接入SpringCloud微服务的解决方案
SpringMvc项目接入SpringCloud微服务的解决方案在SpringBoot项目大行其道的时代,仍有很多项目是基于SpringMvc,甚至是基于struts的,这些项目的特点是年代久远,项目庞大,设计文档存在缺漏。但是对于这些项目,我们不能放任不管,甚至很多项目还在为公司创造这价值。随着公司业务的发展,原先的单体项目已经不能满足快速发展变化的业务的需求,这时候就要进行微服务改造。...原创 2019-05-26 15:09:53 · 10370 阅读 · 1 评论 -
前端使用MOCK平台提高研发效率
前端使用MOCK平台加快开发进度解决问题:在过往开发的过程中,前端与后端接口对接是不可或缺的一环,这一环往往需要前端后端两个角色一起参与,一起连调并且解决问题,这样既占用了人力又耽误时间,因此建议使用mock平台来将前后端解耦。开发流程1. 开发前,确定接口路径,参数,逻辑主责任人:前端参与人员:前端、后端、产品预计时间:10分钟/功能操作说明:前端后端开发者与产品讨论理解功能,...原创 2019-06-20 17:48:51 · 910 阅读 · 0 评论 -
微服务改造之数据库连接瓶颈问题的思考
数据库连接瓶颈问题的思考背景:客户提出如果客户端总的连接数如果超过数据库服务端的最大连接数,连接会不会成为瓶颈?Client连接池大小设置参考来自Oracle 性能小组 : https://www.youtube.com/watch?v=xNDnVOCdvQ0&list=PLDacGuMCXBJoXiEBkULq2mn-VwwxEPK_M&index=2&t=0s...原创 2019-07-01 17:45:15 · 2847 阅读 · 0 评论 -
微服务思想面面观-持续更新
微服务的目标:更小、更快、更强微服务系统 = 微服务项目 + 项目间网络结构 + 微服务基础设施原创 2019-09-03 13:10:30 · 170 阅读 · 0 评论 -
ECB(实体边界控制)模式
ECB模式是著名的MVC模式的一个变种,和MVC不同,ECB关心的不只是用户接口,它关心那些不提供用户接口的应用。ECB模式包含3个元素(或者3个角度):实体、控制和边界。每一个微服务的元素可以被看作这3个元素中的一种:实体——领域模型的对象,主要包含领域所需要的数据(属性),以及对象上可以进行的行为操作,例如数据校验或者业务操作。控制——作为边界和实体协调者的对象,它空坠每种场景下端到端...原创 2019-09-14 14:37:44 · 1183 阅读 · 0 评论 -
蚂蚁金服分布式事务框架
分布式事务基本术语术语描述事务事务是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行。分布式事务事务的发起者、资源及资源管理器和事务协调者分别位于不同的分布式系统的不同节点之上。分支事务一个分布式事务可能包含多个数据库本地事务,在分布式事务框架下,分支事务可能是一个分库上执行的 SQL 语句,或是一个自定义模式服务的调用。发起方...原创 2019-01-31 15:29:26 · 1887 阅读 · 0 评论