一种基于nginx负载均衡的dubbo分布式集群系统架构方法技术方案

技术编号:13247444 阅读:58 留言:0更新日期:2016-05-15 11:27
本发明专利技术涉及分布式集群系统,目的是为了解决现有的分布式集群系统架构相应速度慢、吞吐容量低的问题。本发明专利技术提供一种基于nginx负载均衡的dubbo分布式集群系统架构方法,包括如下步骤:步骤一、搭建开发环境,包括安装JDK1.8、配置JAVA环境变量、安装开发工具IntelliJ IDEA 14.0、配置MAVEN及安装Redis;步骤二、设计系统的架构,使用nginx实现负载均衡,使用redis实现集群访问,使用dubbo实现服务提供者与消费者分离;步骤三、提供者提供dubbo服务配置在Provider.xml文件中并注册在zookeeper注册中心,通过Spring applicationContext.xml文件载入,服务消费者在Consumer.xml中配置需要消费的接口;步骤四、以war包方式部署系统到服务器,浏览器或移动App访问系统时,利用nginx实现负载均衡,采用权重策略分发服务。本发明专利技术适用于分布式集群系统架构。

【技术实现步骤摘要】

本专利技术涉及分布式集群系统,特别涉及一种基于负载均衡技术的分布式集群系统的架构方法。
技术介绍
在互联网尚速发展的时代,大数据量、尚并发等是大型互联网网站提及最多的。如何处理高并发带来的系统性能问题,最终都会使用负载均衡机制。它是根据某种负载策略把请求分发到集群中的每一台服务器上,让整个服务器群来处理网站的请求。既保证服务的可用性,又保证响应足够快,给用户很好的体验。其中nginx具有稳定性高、功能强大、资源消耗低的特点,从其目前的市场占有而言,nginx大有与apache抢市场的势头,其中突出的一个特性就是其负载均衡功能。Nginx不但可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。dubbo服务框架可以使得java分布式系统之间进行解耦,使用一个服务注册中心来统一管理服务的信息,服务提供者提供注册中心进行注册,而服务消费者可以透明地订阅和消费服务。dubbo是一个分布式服务框架,以及SOA治理方案。其功能主要包括:高性能N1通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等,是一个灵活性和扩展性非常好的服务管理框架。集群技术是构建高性能网站架构的重要手段,在网站承受高并发访问压力的同时,还需要从海量数据中查询出满足条件的数据,并快速响应,必然要将数据进行切片,把数据根据某种规则放入多个不同的服务器节点,来降低单节点服务器的压力。Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。Redis具有执行速度非常快、支持丰富的数据类型、操作都是原子性及多功能实用工具等优势。
技术实现思路
本专利技术的目的是为了通过构建一种基于nginx负载均衡的dubbo分布式集群系统,实现一种高性能的web服务架构系统,对服务器反向代理加速,限制IP访问,使用dubbo框架对系统进行解耦,增强系统的健壮性,同时通过redis集群对数据进行缓存,提高系统的响应速度,通过这些优化来提高系统的性能,增加网络吞吐量,提升系统的负载能力。为达到上述目的,本专利技术提供,其特征在于,包括如下步骤:步骤一、搭建开发环境,包括安装JDK1.8、配置JAVA环境变量、安装开发工具IntelliJ IDEA 14.0、配置MAVEN及安装Redis;步骤二、设计系统的架构,使用nginx实现负载均衡,使用redis实现集群访问,使用dubbo实现服务提供者与消费者分离;步骤三、提供者提供dubbo服务配置在Provider.xml文件中并注册在zookeeper注册中心,通过Spring applicat1nContext.xml文件载入,服务消费者在Consumer.xml中配置需要消费的接口;步骤四、以war包方式部署系统到服务器,浏览器或移动App访问系统时,利用nginx实现负载均衡,采用权重策略分发服务。优选地,使用redis进行集群访问时,数据库采用MySQL。具体地,步骤三包括:将服务提供者所包括的服务的接口全路径配置在dubbo服务提供者配置文件Provider.xml中进行注册,并在Provider.xml中配置好注册中心地址、端口号以及超时间隔,通过Spring的容器文件ap plicat1n Context, xml将提供者Provider.xml加载使得系统提供者接口暴露出去。具体地,所述服务提供者提供的服务包括应用插件、用户中心、代理服务及容器服务。具体地,服务消费者在Consumer.xml中配置需要消费的接口包括:确定系统的服务消费者,,消费者取得服务提供者提供的服务将接口暴露出去,供移动端或前端使用,消费者在Consumer, xml中配置消费者要消费的接口的全路径并通过Spr ing容器applicat1nContext.xml 加载。具体地,架构过程中,通过文件服务器进行文件上传。本专利技术的有益效果是:本专利技术提及的一种基于nginx负载均衡的dubbo分布式集群架构系统,可以实现一种高性能、高并发的分布式服务,并且系统使用基于zookeeper注册中心的提供者-消费者模式降低系统耦合度,能使系统更加健壮。【附图说明】图1为实施例的提供者-消费者结构关系图解;图2为实施例的基于nginx负载均衡的dubbo分布式集群系统的结构示意图。【具体实施方式】以下对本专利技术技术方案作进一步详细描述。本专利技术提出的构建一种基于nginx负载均衡的dubbo分布式集群系统的架构方法,包括如下步骤:步骤一、搭建系统开发环境,包括:(I)安装JDKl.8,配置JAVA环境变量;(2)安装开发工具IntelliJ IDEA 14.0;(3)配置 MAVEN;(4)安装 Redis;步骤二、进行具体的开发工作,设计系统的架构:(I)设计系统架构,整个系统使用dubbo服务注册中心进行解耦;(2)使用redis进行缓存,数据库采用MySQL;(3)持久层使用mybatis,接口暴露使用resteasy;(4)项目采用war包方式部署,系统运行使用tomcat作为WEB服务器;(5)服务器采用nginx实现负载均衡、IP限制等;步骤三、确定系统的服务提供者,系统可以提供一些服务,如应用插件、用户中心、代理服务、容器服务等。将这些提供者的接口全路径配置在dubbo服务提供者配置文件Provider.xml中进行注册,并在Provider.xml中配置好注册中心地址、端口号以及超时间隔,通过Spr ing的容器文件applicat1nContext.xml将提供者Provider.xml加载使得系统提供者接口暴露出去;步骤四、确定系统的服务消费者,系统存着一些消费者,消费者取当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种基于nginx负载均衡的dubbo分布式集群系统架构方法,其特征在于,包括如下步骤:步骤一、搭建开发环境,包括安装JDK1.8、配置JAVA环境变量、安装开发工具IntelliJ IDEA 14.0、配置MAVEN及安装Redis;步骤二、设计系统的架构,使用nginx实现负载均衡,使用redis实现集群访问,使用dubbo实现服务提供者与消费者分离;步骤三、提供者提供dubbo服务配置在Provider.xml文件中并注册在zookeeper注册中心,通过Spring applicationContext.xml文件载入,服务消费者在Consumer.xml中配置需要消费的接口;步骤四、以war包方式部署系统到服务器,浏览器或移动App访问系统时,利用nginx实现负载均衡,采用权重策略分发服务。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱晓龙李伟
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1