分布式架构高级篇(基于Dubbo)
文章平均质量分 76
有恒则成
本人计算机应用技术专业毕业,从事Java 研发工作10年,其中六年分布式开发五年架构设计;能够独立架构并维护基于ZK+Dubbo 的高可用分布式系统并解决分布式事务;熟悉Oracle/Postgresql/Mysql 数据库,擅长数据表设计,掌握SQL 优化;了解分库分表及HAProxy、MyCat、FastDFS 等高可用集群;熟悉Linux 服务器集群、分布式管理及部署工作;使用Keepalived+Nginx +Tomcat 实现了Web 高可用、负载均衡;熟练掌握PowerDesgin 进行数据建模,熟悉Edraw Max、Visio 等设计工具的使用;责任心强并容易相处。
展开
-
Dubbo高级篇_05_Dubbo服务集群
一、环境准备edu-provider-01(192.168.1.121)edu-provider-02(192.168.1.122)Connecting to 192.168.1.121:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'.Last login: Sat原创 2016-04-12 22:03:54 · 35884 阅读 · 5 评论 -
Dubbo高级篇_13_Dubbo缓存
结果缓存,用于加速热门数据的访问速度, Dubbo提供声明式缓存,以减少用户加缓存的工作量。按照SPI的要求,我们从配置文件中可以看到dubbo提供的三种缓存接口的入口:threadlocal=com.alibaba.dubbo.cache.support.threadlocal.ThreadLocalCacheFactorylru=com.alibaba.dubbo.cache...原创 2018-07-30 22:28:15 · 23445 阅读 · 0 评论 -
Dubbo高级篇_11_Dubbo消费端直连服务提供者(开发调试)
直连提供者(+) (#)在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表,A接口配置点对点,不影响B接口从注册中心获取列表。(1) 如果是线上需求需要点对点,可在<dubbo:reference>中配置url指向提供者,将绕过注册中心,多个地址用分号隔开,配置...原创 2016-04-16 09:55:23 · 62355 阅读 · 11 评论 -
Dubbo高级篇_04_FastDFS分布式文件系统的安装与使用
FastDFS分布式文件系统的安装与使用原创 2016-04-04 09:39:11 · 16311 阅读 · 2 评论 -
Dubbo高级篇_02_activemq的安装与使用
active mq安装及使用原创 2016-03-28 22:07:57 · 19336 阅读 · 0 评论 -
Dubbo高级篇_03_Redis的安装与使用
redis安装与Jedis使用原创 2016-04-03 20:31:55 · 17658 阅读 · 0 评论 -
Dubbo高级篇_08_Dubbo服务启动依赖检查
启动时检查(+) (#)Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null原创 2016-04-13 19:00:21 · 23707 阅读 · 0 评论 -
Dubbo高级篇_11_dubbo服务只订阅(开发调试)
只订阅(+) (#)问题为方便开发测试,经常会在线下共用一个所有服务可用的注册中心,这时,如果一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行。解决方案可以让服务提供者开发方,只订阅服务(开发的服务可能依赖其它服务),而不注册正在开发的服务,通过直连测试正在开发的服务。原创 2016-04-16 10:22:58 · 20175 阅读 · 1 评论 -
Dubbo高级篇_09_Dubbo负载均衡策略
Dubbo负载均衡策略原创 2016-04-14 21:37:40 · 31525 阅读 · 0 评论 -
Dubbo高级篇_12_dubbo服务只注册
只注册(+) (#)问题如果有两个镜像环境,两个注册中心,有一个服务只在其中一个注册中心有部署,另一个注册中心还没来得及部署,而两个注册中心的其它应用都需要依赖此服务,所以需要将服务同时注册到两个注册中心,但却不能让此服务同时依赖两个注册中心的其它服务。解决方案可以让服务提供者方,只注册服务到另一注册中原创 2016-04-16 10:28:18 · 16767 阅读 · 1 评论 -
Dubbo高级篇_10_Dubbo线程模型
线程模型类似于数据库的连接池(+) (#)事件处理线程说明如果事件处理的逻辑能迅速完成,并且不会发起新的IO请求,比如只是在内存中记个标识,则直接在IO线程上处理更快,因为减少了线程池调度。但如果事件处理逻辑较慢,或者需要发起新的IO请求,比如需要查询数据库,则必须派发到线程池,否则IO线程阻塞,将导致不能接收其它请求。如果用IO线程处理原创 2016-04-15 11:05:06 · 44852 阅读 · 3 评论 -
Dubbo高级篇_01_消息中间件在分布式架构的作用和介绍
消息中间件的定义Message-oriented middleware (MOM) is software infrastructure focused on sending and receiving messages between distributed systems.消息中间件是在分布式系统中完成消息的发送和接收的基础软件。消息中间件的作用消息中间件可利用高效原创 2016-03-28 21:23:45 · 22595 阅读 · 1 评论 -
Dubbo高级篇_07_Dubbo服务接口的设计原则
1 、设计方式action->facade->biz->dao好的Dubbo服务接品设计,并非只是纯粹的接口服务化2.接口类型简单的数据查询接口:action.facade、dao带业务逻辑的数据查询接口:action、facade、biz、dao简单的数据写入接口:action、facade、dao带业务逻辑的数据写入接口:action、facade、biz、dao原创 2016-04-13 13:42:18 · 29924 阅读 · 3 评论 -
Dubbo高级篇_06_Dubbo分布式服务子系统的划分
服务化的目标 1. 将系统中独立的业务抽取出来,按业务的独立性进行垂直划分,抽象出基础服务层。 2.基础服务为上游业务的功能 实现提供支撑,基础服务应用本身无状态,可随着系统的负荷灵活伸缩来提供服务能力。 服务子系统的数量把控过多:可能划分过细,破坏业务子系统的独立性(如支付订单、退款订单、用户、账户),部署维护工作量大,独立进程占用原创 2016-04-12 22:30:46 · 16610 阅读 · 0 评论 -
Dubbo高级篇_14_Filter实现Dubbo接口黑白名单
微服务背景下,一个web应用都可能不再service依赖,而是通过RPC调用远端服务器上的服务。这些服务里,就包括了一些不能轻易暴露的后台功能接口。暴露出去的dubbo接口注册到某一个zk上后,该dubbo接口对注册到该zk上的消费者都是可见的。对公司内部而言,通常不会有人蓄意去调用一些敏感的接口,但也存在人为误用的可能呀。为此,考虑通过白名单机制来控制dubbo接口的访问。扩展F...转载 2018-07-31 15:14:14 · 17016 阅读 · 0 评论