
架构技能
liuhuiteng
这个作者很懒,什么都没留下…
展开
-
设计模式实践及总结
一、设计模式概念及设计原则 记得刚开始学编程的时候就看过设计模式相关的书籍,虽然当时有很多地方都不理解,但是建立了早期对架构设计的意识,让后面的学习和工作中受益匪浅,最近两年也一直在做架构设计方面的工作,解开了之前很多的困惑,也形成了一些自己的思想,我需要把自己零散的想法系统的整理出来,如果能对大家有帮助当然更好了。为什么选择设计模式?因为架构设计是一个很宽泛甚至对于有些人是一个很...原创 2020-01-19 13:48:30 · 1504 阅读 · 0 评论 -
互联网架构:常用基础中间件介绍
一般而言中间件和框架的区别是,中间件是独立运行的用于处理某项专门业务的CS程序,会有配套的客户端和服务端,框架虽然也是处理某个专门业务的但是它不是独立程序,是寄宿在宿主程序进程内的一套类库。图上绿色部分代表了框架,红色部分代表了管理系统,紫色部分代表了中间件。本文会着重介绍管理系统和中间件部分。一、配置管理比较知名的分布式配置服务和管理系统有携程的 https://github...原创 2020-01-17 14:30:38 · 6025 阅读 · 0 评论 -
互联网公司常用架构模式梳理
一、管理和监控1.1、大使模式:创建代表消费者服务或应用程序发送网络请求的帮助服务进程外的代理服务(很多框架层面的事情可以以软件框架的形式寄宿在进程内,也可以以独立的代理形式做一个网络中间件)。这里的大使模式意思就是这么一个网络代理进程,用于和远端的服务进行通讯,完成下面的工作:服务路由 服务熔断 服务跟踪 服务监控 服务授权 数据加密 日志记录由于是独立进程的网络服...原创 2020-01-17 09:46:44 · 7238 阅读 · 0 评论 -
Zookeeper简介
一、Zookeeper是什么东西?(1)、ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步服务、组服务等。(2)、ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能...原创 2020-01-09 17:18:08 · 1225 阅读 · 0 评论 -
Spring Cloud简介,为什么需要Spring Cloud?
一、为什么需要Spring Cloud? 从分布式/微服务的角度而言,就是把我们一个大的项目分解成多个小的模块,这些小的模块组合起来,完成功能;而拆分出多个模块以后,就会出现各种各样的问题,而Spring Cloud提供了一整套的解决方案。 Spring cloud是一个基于Spring boot实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配...原创 2019-12-02 16:23:22 · 1449 阅读 · 0 评论 -
集群、分布式、微服务的概念及异同
一、什么是集群? 集群是指将多台服务器集中在一起,每台服务器都实现相同的业务,做相同的事;但是每台服务器并不是缺一不可,存在的主要作用是缓解并发能力和单点故障转移问题。集群主要具有以下特征:(1)、伸缩性 在一些大系统中,预测最终用户的数量和行为是非常困难的,伸缩性是指系统使用不断增长的用户数的能力;随着用户数的增长,我们只需将新的服务器加入集群中即可,对于用户来...原创 2019-12-02 11:23:23 · 1152 阅读 · 0 评论 -
基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba的企业级微服务敏捷开发系统架构
一、项目总体架构图二、功能介绍2.1、统一认证功能支持oauth2的四种模式登录支持用户名、密码加图形验证码登录支持手机号加密码登录支持openId登录支持第三方系统单点登录2.2、分布式系统基础支撑服务注册发现、路由与负载均衡服务降级与熔断服务限流(url/方法级别)统一配置中心统一日志中心统一分布式缓存操作类、cacheManager配置扩展分...原创 2019-11-29 11:36:53 · 1182 阅读 · 0 评论 -
基于“大中台+小前台”思想的电商系统总体架构设计
一、架构总原则1. 大中台+小前台的架构思路2. 业务中台采用领域驱动设计(DDD),在其上构建业务能力SAAS,持续不断进行迭代演进。3. 平台化定位,进行了业务隔离设计,方便一套系统支撑不同玩法的业务类型和便于定制化扩展。4. 前后端分离,通过服务接入层进行路由适配转发。5. 天然的分库分表,消息解耦和分布式缓存设计,支持弹性扩容,以支持大数据高并发场景。二、系统逻辑架构图...原创 2019-08-06 09:37:04 · 6199 阅读 · 1 评论 -
TCC分布式实现原理及分布式应用如何保证高可用
一、业务场景介绍咱们先来看看业务场景,假设你现在有一个电商系统,里面有一个支付订单的场景。那对一个订单支付之后,我们需要做下面的步骤:更改订单的状态为“已支付” 扣减商品库存 给会员增加积分 创建销售出库单通知仓库发货好,业务场景有了,现在我们要更进一步,实现一个 TCC 分布式事务的效果。订单服务-修改订单状态 库存服务-扣减库存 积分服务-增加积分 仓...转载 2019-07-19 11:50:52 · 713 阅读 · 0 评论 -
项目架构之传统三层架构和领域模型三层架构
一、架构之传统三层架构传统三层架构是一种软件架构,是一种典型的、基于贫血模型的、面向过程的JavaWeb分层方式。该架构分为以下三个层次:数据访问层(DAL - Data Access Layer)即对包括数据库在内的数据源进行操作的部分。 业务逻辑层(BLL - Business Logic Layer)即对业务数据进行逻辑处理的部分。 表现层(UI - User Interfac...转载 2019-07-19 10:02:44 · 3254 阅读 · 0 评论 -
Reactor三种线程模型与Netty线程模型
一、Reactor三种线程模型1.1、单线程模型 单个线程以非阻塞IO或事件IO处理所有IO事件,包括连接、读、写、异常、关闭等等。单线程Reactor模型基于同步事件分离器来分发事件,这个同步事件分离器,可以看做是一个单线程的while循环。下图描述了单线程模型的处理过程,看起来与网上大部分资料的图片不同,但本质是相同的。 注意上面的Selector之所以...转载 2019-06-27 22:53:37 · 3630 阅读 · 2 评论 -
Java远程通讯技术及原理分析
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了。一、基...转载 2019-06-24 17:54:40 · 858 阅读 · 0 评论 -
我对DevOps的理解
一、DevOps的意图 究竟什么是DevOps? 要想回答这个问题,首先要明确DevOps这个过程参与的人员是谁?即开发团队和IT运维团队!那么,DevOps的意图是什么呢?即在两个团队之间,建立良好的沟通和协作,更快更可靠的创建高质量软件! 事实上,并不是这两个团队之间的协作帮助交付了更好的软件,而是“开发”和“运维”团队之间的统一导致了软件的改进,并以更快...转载 2019-06-25 10:43:57 · 3012 阅读 · 0 评论 -
Restful、SOAP、RPC、SOA、微服务之间的区别
一、介绍Restful、SOAP、RPC、SOA以及微服务1.1、什么是Restful? Restful是一种架构设计风格,提供了设计原则和约束条件,而不是架构,而满足这些约束条件和原则的应用程序或设计就是 Restful架构或服务。 主要的设计原则:(1)、资源与URI(2)、统一资源接口(HTTP方法如GET,PUT和POST)(3)、资源的表述...转载 2019-04-19 13:54:09 · 4559 阅读 · 2 评论 -
微服务Dubbo和SpringCloud架构设计、优劣势比较
一、微服务介绍 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如Dubbo和Spring Cloud。各大互联网公司也有自研的微服务框架,但其模式都于这二者相差不...转载 2019-04-18 13:23:03 · 1091 阅读 · 0 评论 -
微服务设计原则和解决方案
一、微服务架构演进过程 近年来我们大家都体会到了互联网、移动互联带来的好处,作为IT从业者,在生活中时刻感受互联网好处的同时,在工作中可能感受的却是来自自互联网的一些压力,那就是我们传统企业的IT建设也是迫切需要转型,需要面向外部客户,我们也需要应对外部环境的快速变化、需要快速创新,那么我们的IT架构也需要向互联网企业学习作出相应的改进,来支撑企业的数字化转型。 ...转载 2019-03-30 13:22:32 · 5989 阅读 · 0 评论