一.前言 公司的项目基于阿里的Dubbo 微服务框架开发.为了符合相关监管部门的安全要求,公司购买了华东1.华东2两套异地服务器,一套是业务服务器,一套是灾备服务器.准备在这两套服务器上实现 Dubbo 的 分布式服务,如下图: 这里只罗列了部分服务器作为参考说明.其中 api 是消费者服务,driver 和 order 是 提供者服务.华东1 和 华东 2 分别是两个局域网,局域网内可用内网通信.两个局域网只能通过外网通信. 二.消费者分布式服务 消费者的分布式是通过 Nginx 配置负载均衡…
一.生产者搭建 新建一个maven工程,勾选Create a simple project Packaging方式选择jar包的方式. 修改pom.xml文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.o…
本文较长,如果想直接看代码可以查看项目源码地址: https://github.com/hetutu5238/rpc-demo.git 要想实现分布式服务调用框架,我们需要了解分布式服务一般需要的功能点有哪些.目前要想实现一个简单的服务调用框架要做到的有以下的功能. 服务注册与发现,调用过程封装,消费负载均衡,序列化与反序列化,网关(可以用nginx实现)等.本文则从实现这些功能点的步骤出发来模拟一个 简单的服务调用框架 1.idea中创建父项目rpc-parent,子项目 rpc-common…
概述: Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色. 我们来看一下Dubbo 的RPC 调用流程,这里主要涉及到4个模块: Registry:服务注册,我们一般会采取Zookeeper 作为我们的注册…
引言: 以前的车马很慢,一生只够爱一个人以前的网站人很少,一个单应用服务着一个人--------------------现在,动不动就谈什么高并发,千万级访问.单应用?BOOM!分分钟爆炸.于是,技术随着业务的需求诞生了新的产物. 框架演变: 单一应用架构 :所有的功能部署在一个应用中. 垂直应用架构 :将应用拆成互不相干的几个应用,以提升效率. 分布式服务架构 :当垂直应用越来越多,应用之间交互不可避免,此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键. OK!到此为止,我们今…
http://alibaba.github.io/dubbo-doc-static/User+Guide-zh.htm#UserGuide-zh-API%E9%85%8D%E7%BD%AE http://alibaba.github.io/dubbo-doc-static/Home-zh.htm Dubbo是什么? Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装…
概述: 节点角色说明 节点 角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务的调用次数和调用时间的监控中心 Container 服务运行的容器 调用关系说明 服务容器 Container 负责启动,加载,运行服务提供者. 服务提供者 Provider 启动的时候,向注册中心 Registry 注册自己提供的服务. 服务消费者 Consumer 在启动的时候,向注册中心 Registr…
我们新建两个项目分别模拟服务的提供者和服务的消费者,spring boot 集成dubbo主要分为以下几个步骤: 1.安装zookeeper 推荐使用docker 安装,使用以下几个命令即可完成 (1)docker pull zookeeper:3.4.11 (2)docker run --name zookeeper -p 2181:2181 --restart always -d 56d414270ae3 (-d 后面为镜像ID) 2.服务提供者和服务消费者的项目中分别添加dubbo 和zo…
为了简化操作,采用操作系统为CentOS 8. 首先需要编译出libzookeeper,在官网下载最新的zookeeper源码,或者github上clone一个,地址为:https://github.com/apache/zookeeper 本地安装工具ant,在zookeeper源码根目录执行ant compile_jute. 跳转目录到'./zookeeper-client/zookeeper-client-c'中,执行autoreconf -if(需要依赖工具autoconf, autom…
最近项目上要对以前的老项目做分布式的整改,因此我专门花了点时间研究下当前比较热门的dubbo和springboot结合使用,以前使用过dubbo,但是没有与springboot结合过,在网上查了点资料,感觉要么是springboot版本过低,要么是dubbo版本过低,反正基本是千篇一律,查考价值不大.下面我们就直入主题,看下springboot+dubbo的简单使用: 首先是新建三个项目:dubbo-common:  主要存放服务发布的接口以及发布和调用端的公共对象,dubbo-provider…