
架构设计
志波同学
做一个有担当的程序猿,为互联网贡献自己的一份力量
展开
-
基于阿里云的应用系统三级等保1.0测评总结
背景由于政策的要求,我们的应用系统需要过信息系统安全等级保护第三级(简称三级等保)。在编写本文时,我们的三级等保已经通过,所以本文是对三级等保测评的一次总结。分享给大家,希望能够帮助有需要的人。我们的应用系统是基于阿里云部署的,阿里云作为云平台,本身通过了三级等保测评。所以与阿里云相关(物理安全、中间件安全)的测评都不需要重复进行,只需要提供阿里云的三级等保测评报告就可以。因此我们的三级等保测...原创 2019-09-25 20:33:54 · 7091 阅读 · 3 评论 -
"大中台小前台战略"之中台的定义
什么是中台最近网络上有很多阐述企业中台的文章和评论,大家对中台的理解不尽相同,我自己也是一知半解,通过查阅资料,与朋友一起讨论,最终形成这篇文章。文章内容仅代表个人观点,如有不正之处,欢迎批评指正,谢谢大家。通过调查发现,中台并不是新生事物,在企业的管理中已经存在很久了,主要作用是为了快速支撑前台业务的发展,使得项目能够快速落地,达到增效降本的目的。以信托公司为例,企业的前中后台的划分如下:...原创 2020-01-21 17:32:23 · 2774 阅读 · 0 评论 -
服务治理:理清服务的强弱依赖,提升高可用能力
在进行系统开发的过程中,由于业务的需要通常可能会形成“服务A>服务B>服务C>…>服务N”这样的调用链,不同的业务场景对于服务的依赖是有强弱之分的。只有结合业务场景的需要,对服务间的依赖关系做出合理性的判定,才能基于这份依赖关系对服务限流、服务容量、服务报警、代码影响范围、服务发布顺序等做出合理的评估,将系统的评估工作更加精细化,从而保证系统的稳定运行。避免因为系统的依赖问...原创 2020-02-01 01:23:40 · 6370 阅读 · 1 评论 -
服务治理:高可用的三大利器熔断、限流、降级
在我们进行系统设计时,必须要考虑系统的高性能、高并发、高可用。本文分享的是关于高可用的三大利器:熔断、限流、降级,我们使用通俗、易懂的语句将三个概念讲清楚。一、熔断在服务的依赖调用中,被调用方出现故障时,出于自我保护的目的,调用方会主动停止调用,并根据业务需要进行相应处理。调用方这种主动停止调用的行为我们称之为熔断。为什么要熔断假定服务A依赖服务B,当服务B处于正常状态,整个调用是健康的...原创 2020-03-08 01:12:35 · 9979 阅读 · 1 评论 -
基于钉钉应用的免登安全交互方案
一、背景描述钉钉提供了应用市场功能,市场中提供了各种各样的应用,这些应用都是基于钉钉的开放平台规范进行开发的。钉钉的开放平台有自己的用户体系,自有应用(企业自己的应用程序)也有独立的用户体系,如何保证双方用户互通、以及安全交互是本文讨论的问题。二、面临的问题1、钉钉用户如何与自有用户(企业自己的用户)打通。钉钉开放平台提供接口,可以获取对应企业下的钉钉用户信息,将 dingUserId(...原创 2019-09-17 15:28:52 · 1770 阅读 · 0 评论 -
聊聊微服务架构的优缺点
什么是微服务微服务是用一组小服务构建的一个应用,服务运行在不同的进程中,服务之间通过轻量的通讯机制进行交互,并且服务可以通过自动化部署方式独立部署。正因为微服务架构中,服务之间是相互独立的,所以不同的服务可以使用不同的语言来开发,或者根据业务的需求使用不同类型的数据库。微服务是相对于它出现之前的巨大单体应用来讲的,我们以电商系统为例进行说明:优点缺点优点:1、服务解耦,每个服务...原创 2019-07-15 20:53:13 · 10433 阅读 · 0 评论 -
架构设计:浅析分布式系统中的缓存问题
在分布式系统设计中,为了提高系统的响应速度,为了减轻数据库服务器的访问压力,我们经常会对数据进行缓存处理。本文由浅入深,逐步讲解缓存的设计,以及设计中遇到的问题。初级缓存方案初级缓存方案如下图所示,之所以如此命名,是因为大多数的系统中都是这样使用缓存的,是一个基础的缓存方案。大致流程如下:1、业务系统从缓存中查询数据2、如果查询到数据,则直接使用该数据3、如果没有查询到数据,则需要业务系...原创 2019-05-24 14:31:29 · 1098 阅读 · 1 评论 -
支付系统转账过程中并发交易引起的分布式死锁问题
死锁死锁的规范定义:集合中的每一个进程都在等待只能由本集合中的其他进程才能引发的事件,那么该组进程是死锁的。从广义上讲,这里的进程指的是一个执行单元。问题描述假设【账户A】给 【账户B】转账 500 元,在程序中的转账逻辑如下: 1. 开启事务 2. 【账户A】的余额减去 500 元 3. 【账户B】的余额增加 500 元 4. 提交事务在集群环境下,在 server1、server原创 2017-09-05 16:57:16 · 7477 阅读 · 3 评论 -
关于内外网隔离的网络访问解决方案
该问题的解决方案比较简单,但是偶有同事还是在问这个问题,因此将该问题的解决方案记录下来,写给那些需要这个方案的小朋友。如有不正之处,欢迎批评指正。问题描述在公司的生产环境中存在DMZ 和 APP 两个网络区域,从外网中可以直接访问 DMZ 区,不可以直接访问 APP 区,如下图所示: 目前在开发的微信小程序部署在微信的服务器上(也就是在外网中),它需要访问 APP 区部署的服务接口。也原创 2017-09-01 16:48:35 · 25697 阅读 · 1 评论 -
移动端App与后台服务的对接方案
1. 方案一 优点: 1) 模块划分清晰,模块间相互独立,互不影响; 缺点: 1)移动端app需要通过两个域名访问门户系统、运营系统提供的服务; 2)需要提供统一的登录接口、权限校验接口;2. 方案二 AppServer请求转发如下图所示: 优点: 1)AppServer整合各系统提供接口,移动端app通过统一的AppServer服务进行数据访问;原创 2016-06-18 13:31:41 · 28927 阅读 · 0 评论