
架构思想
文章平均质量分 92
狂奔的蜗牛Evan
hello world
展开
-
阿里十年总结之软件测试的价值
质量从来不只是测试的事,全员参与、全员负责,尤其是测试开发比越来越低的情况下越来越明显。测试的工作形式也将从”保姆模式“转变为“教练模式”,通过各种质量保证机制规范和提升开发同事的质量意识、研发效能。转载 2023-12-26 23:44:51 · 104 阅读 · 0 评论 -
下一代软件架构,如何构建微服务核心能力
随着数字化进程的加速,各种架构设计思想风起云涌,进入百家争鸣时代,微服务架构,云原生架构,Serverless 架构,事件驱动架构,中台架构,容灾架构,到底哪种思潮代表未来呢?转载 2023-12-26 23:22:06 · 117 阅读 · 0 评论 -
一文浅谈CodeReview中的一些思考
CodeReview是代码质量保障的关键一环,作为CodeReviewer我们要坚守团队的统一规范,严格把控每一份代码中的质量和规范等问题,牢牢的把控好代码质量关口;同时作为被CodeReviewer我们也要尊重别人的时间和意见,共同维护团队的代码规范,从CodeReview中学习别人的意见和设计思想,促进自身的快速成长。转载 2023-12-24 11:38:20 · 115 阅读 · 0 评论 -
面试官:2PC提交协议是什么?
二阶段提交(Two-phaseCommit)是指,在计算机网络以及数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法(Algorithm)。通常,二阶段提交也被称为是一种协议(Protocol))。在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。...转载 2022-08-09 00:04:43 · 291 阅读 · 0 评论 -
服务老是被攻击,如何设计一套比较安全的接口访问策略?
大家好,我是老王,最近接手了一个项目,兴致勃勃的准备大干一场,结果一顿渗透测试下来我都快傻了。什么防重放攻击,请求体篡改,越权攻击,都整上来了,好嘛,我都不清楚这个项目这半年是怎么度过的。不知道大家公司对接口安全这块是怎么考量的,但是对于面向公网提供服务的产品来说,这个可以说是很致命的了。那么,该如何设计一套比较安全的接口访问策略呢?...转载 2022-07-28 10:38:37 · 753 阅读 · 0 评论 -
漫谈单点登录(SSO)
SSO这一概念由来已久,网络上对应不同场景的成熟SSO解决方案比比皆是,从简单到复杂,各式各样应有尽有!开源的有OpenSSO、CAS ,微软的AD SSO,及基于kerberos 的SSO等等……这些优秀的解决方案尽显开发及使用者的逼格,当然需求所致无谓好坏高低,满足实际之需才是王道!...转载 2017-05-19 10:24:09 · 793 阅读 · 0 评论 -
(单点登录、SSO)公司系统太多,如何实现账号互通
大家好,我是老王,最近开发新产品,然后老板说我们现在系统太多了,每次切换系统登录太麻烦了,能不能做个优化,同一账号互通掉。作为一个资深架构狮,老板的要求肯定要满足,安排!一个公司产品矩阵比较丰富的时候,用户在不同系统之间来回切换,固然对产品用户体验上较差,并且增加用户密码管理成本。也没有很好地利用内部流量进行用户打通,并且每个产品的独立体系会导致产品安全度下降。因此实现集团产品的单点登录对用户使用体验以及效率提升有很大的帮助。那么如何实现统一认证呢?我们先了解一下传统的身份验证方式。...转载 2022-07-28 09:10:41 · 3685 阅读 · 0 评论 -
MVC和DDD的对比
DDD 这几年越来越火,资料也很多,大部分的资料都偏向于理论介绍,有给出的代码与传统 MVC 的三层架构差异较大,再加上大量的新概念很容易让初学者望而却步。本文从 MVC 架构角度来讲解如何演进到 DDD 架构。从 DDD 的角度看 MVC 架构的问题代码角度: 瘦实体模型:只起到数据类的作用,业务逻辑散落到 service,可维护性越来越差 面向数据库表编程,而非模型编程 实体类之间的关系是复杂的网状结构,成为大泥球,牵一发而动全身,导致不敢轻易改代码转载 2022-03-07 16:09:58 · 13094 阅读 · 0 评论 -
浅谈微服务数据共享
微服务与单体的区别如果单体应用是一个人啥都干,那微服务体系更像是一个团队。相对于一个人大包大揽,一个团队中每个人分工合作显然对于整体来说是更轻松的,弹性也更强,但是团队相对于个人研发无疑增加了沟通成本,也就是信息共享(数据共享)数据共享的问题在哪数据共享的问题,就如同大家都会讲普通话,那大家就都用普通话沟通,但是不能前端页面问题找DBA处理,这时候我们就需要统一各个成员之间的依赖关系,比如A前端关于样式方面的问题需要找B设计师,C后端关于数据库方面的问题需要找DBA,这也就是微服务间数据依转载 2022-03-07 13:56:32 · 1879 阅读 · 0 评论 -
代码规范 & 设计模式落地之路
—1—前言关于设计模式和代码规范问题还是有一些内容还是值得落笔和大家分享的。—2—正文设计模式究竟是什么?主流的说法,大致如此:设计模式是解决可在许多不同情况下使用的问题的描述或模板,一般在OOP中最作为最佳实践的解决方案。最佳实践一词笔者再几处介绍设计模式的地方,都有看到。但是设计模式真的就是OOP中,业务开发的最佳实践吗?首先声明笔者的观点,我是如何理解设计模式的:设计模式是一种代码规范,不同于空格,缩进这类容易被插件检测的...转载 2022-03-06 21:59:24 · 154 阅读 · 0 评论 -
Apache 架构师总结的 30 条架构原则
本文作者叫 Srinath,是一位科学家,软件架构师,也是一名在分布式系统上工作的程序员。他是 Apache Axis2 项目的联合创始人,也是 Apache Software 基金会的成员。他是 WSO2 流处理器(wso2.com/analytics)的联席架构师。Srinath 撰写了两本关于 MapReduce 和许多技术文章的书。他获得了博士学位。来自美国印第安纳大学。Srinath 通过不懈的努力最终总结出了 30 条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架.转载 2022-03-06 21:47:15 · 88 阅读 · 0 评论 -
浅析DDD(领域驱动设计)
最近在做一些微服务相关的设计,内容包括服务的划分,Restful API的设计等。其中比较棘手的就是Service的职责划分:如何抽象具有统一业务范畴的Model,使其模块化,又如何高度提炼并组合多模块,使得业务可独立服务化。为了找寻答案,看了不少书籍和博客,在DDD中找到了一些思路,个人觉得受益匪浅,或许也可以受用于大家,特分享于此。什么是DDD软件开发不是一蹴而就的事情,我们不可能在不了解产品(或行业领域)的前提下进行软件开发,在开发前,通常需要进行大量的业务知识梳理,而后到达软件设计的层面.转载 2021-12-20 23:02:50 · 353 阅读 · 0 评论 -
基于 token 的多平台身份认证架构设计。
1、概述在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情。随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格局 。不同的客户端产生了不同的用户使用场景,这些场景: 有不同的环境安全威胁 不同的会话生存周期 不同的用户权限控制体系 不同级别的接口调用方式 综上所述,它们的身份认证方式也存在一定的区别。本文将使用一定的篇幅对这些场景进行一些分析和梳理工作。2、使用场景下面是一些在IT服务常见的一些使用转载 2021-12-08 23:36:32 · 175 阅读 · 0 评论 -
支付宝二面:生成订单30分钟未支付,则自动取消,该怎么实现?延时任务和定时任务的区别
最近读者在支付宝二面遇到一个问题:生成订单30分钟未支付,则自动取消,该怎么实现?其实这类延时任务的需求,在开发中经常会遇到,例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下 3 点区别: 定时任务有明确的触发时间,延时任务没有 定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有转载 2021-12-07 23:06:24 · 1344 阅读 · 0 评论 -
Dubbo+zookeeper构建高可用分布式集群(二)-集群部署
在Dubbo+zookeeper构建高可用分布式集群(一)-单机部署中我们讲了如何单机部署。但没有将如何配置微服务。下面分别介绍单机与集群微服务如何配置注册中心。Zookeeper单机配置:方式一、<dubbo:registryaddress="zookeeper://10.20.153.10:2181"/>方式二、<dubbo:registryprotocol="zookeeper"address="10.20.153.10:2181"/>Zo转载 2021-07-22 11:06:28 · 2566 阅读 · 0 评论 -
构建高可用ZooKeeper集群
ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服务。由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。本文的目标读者是对 ZooKeeper 有一定了解的技术人员,将从 ZooKeeper 运行模式、集群组成、容灾和水平扩容四方面逐步深入,最终构建出高可用转载 2021-07-22 10:23:51 · 288 阅读 · 0 评论 -
架构:进程缓存和缓存服务,如何抉择?
概述我们所说的缓存分为进程内部缓存(系统内部缓存)和 缓存服务(如redis/memcache)。计算机服务从原来的单体结构,到多实例,到现在流行的微服务,缓存服务变得原来越流行了。进程缓存先说说进程缓存,它将数据存储在站点、服务的进程内。在Web的发展历史上,这样的方式备受欢迎。比如早期常用的.Net的 System.Web.Caching.这种实现载体很简单,比如一个带锁的HasTable,或者一个List对象。使用简单便捷,能存储数据、html页面片段、文件,甚至任何对象。在...转载 2021-07-05 23:28:48 · 221 阅读 · 0 评论 -
架构:设计容量,到底有多重要 ?
背景单位每年都会举行运动会,有一个2000m长跑的项目,大约每年报名人员为男选手40人,女选手20人,只有一条橡胶跑道。一次比赛10人齐跑,所以至少需要6场比赛。2000米的完成时间要求是20分钟,超过20分钟不计数,所以比赛耗时我们计算为20分钟,加上比赛前的动员组织,比赛后的清场,我们假定每场比赛耗时30分钟。现在我们预估下耗时:1、60人/10人每场 = 6场,至少需要举行6场2、总耗时 = 6场 * 0.5h = 3h所以每年把这个比赛安排在下午3点到6点,是最后一个比赛项目转载 2021-07-05 23:15:48 · 237 阅读 · 0 评论 -
架构:短址(short URL)原理及其实现(短地址|短url)
前言:最近看了一些关于短址(short URL)方面的一些博客,有些博客说到一些好的东西,但是,也不是很全,所以,这篇博客算是对其它博客的一个总结吧。介绍:短址,顾名思义,就是把长的 URL 转成短的 URL, 现在提供这种服务的有很多公司,我们以google家的 URL shortener 服务: http://goo.gl/ 为例。首先我们到 http://goo.gl/,然后把本文博客的地址http://blog.csdn.net/beiyeqingteng 输入进去,最后它会返回转载 2021-07-05 23:08:54 · 4498 阅读 · 1 评论 -
架构: 短 URL 服务的设计以及实现(短地址|短链)
背景想必大家也经常收到垃圾短信吧……短信中的链接一般都是短链接,类似于下图这样:为什么这里面的URL都是短的呢?有什么好处呢?怎么做到的呢?端 URL 的好处 短信和许多平台(微博)有字数限制,太长的链接加进去都没有办法写正文了。 好看。比起一大堆不知所以的参数,短链接更加简洁友好。 方便做一些统计。你点了链接会有人记录然后分析的。 安全。不暴露访问参数。 这就是为什么我们现在收到的垃圾短信大多数都...转载 2021-07-05 22:34:35 · 483 阅读 · 0 评论 -
架构:网页二维码,App 扫码登录实现原理
需求介绍首先,介绍下什么是扫码登录。现在,大部分同学手机上都装有qq和淘宝,天猫等这一类的软件。而开发这些app的企业,都有他们相对应的网站。为了让用户在使用他们的网站时,登录更加方便和安全。这些企业提供了, 使用手机,扫一扫,就可以登录的服务。网页登录时的效果如下:有很多小伙伴可能会感到很神奇,网页上只是显示了个二维码,它怎么就知道是哪个手机扫到了二维码,并且进行登录的呢?而且,登录完成以后,还能直接把用户信息显示给用户,真的是很神奇啊。原理解释网页端+服务器接下来就是对于这个服务转载 2021-07-05 17:05:01 · 863 阅读 · 0 评论 -
架构:小团队也能做中台
作者简介:御家汇架构团队负责人,坐标湖南长沙。开发,运维,测试,大数据均有负责,杂而不精。乐于复杂系统重构,拥抱DDD。开篇本文说的小团队是指50人左右技术团队,包括了产品,开发,测试,运维等,一般传统企业的技术团队差不多就是这个规模。很多人会有质疑,就几十号人,有必要做中台吗?能做出效果?本文解答下以上两个问题,这里先回答第一个问题,为什么御家汇要做中台,在最后总结里回答第二个问题,做了中台后的效果。御家汇是一家上市化妆品公司,旗下知名自有品牌有御泥坊,小迷糊,薇风大水...转载 2021-04-26 14:44:22 · 304 阅读 · 0 评论