基于服务的SOA架构_后续篇
今天是元宵节,首先祝各位广大博友在接下来的光阴中技术更上一层,事事如意!
昨天简单介绍了一下本人在近期开发过的一个电商购物平台的架构流程和一些技术说明;今天将详细总结一下在项目中用到的各个架构技术的环境部署和细节,希望能够帮到大家,如有瑕疵,请各位大神指正。
一:详谈服务治理的核心框架之Dubbo及注册中心zookeeper
首先说说Dubbo这个框架吧,接触这个框架是在去年的年底,当时我们公司的架构师震哥赏了我一点关于架构方面的资料,我看了几天感觉挺对它们感冒的,所以就想着学学架构,哪天当当架构师,呵呵,这只是个近期目标,好了,还是吹吹主角dubbo吧。
Dubbo它是阿里巴巴出品的开源的分布式框架,它最大的特点是可以用分层的架构,使表现层和业务层实现解耦合。从面向服务的角度来谈,dubbo采用一种非常简单的模型,要么就是给消费者提供服务,要么就是引用提供方发布的服务(这里的名词解释就不详了,大家可以去找度娘),再接着就是说说dubbo的调用关系原理吧,明白了这点可以强化我们对dubbo的感觉,至少我是这么认为的。
但是说到这里,又一个优秀的角色注册中心zookeeper登场了,他主要是作为Dubbo服务框架的注册中心(当然也可以使用我们熟悉的redis作为注册中心,但是这里我采用最优的,任性一把),他主要是负责各种服务的地址查询和注册,说白了相当于一个目录服务,还有它的一个优点就是从来不转发请求,压力很小(友情提示:在使用Dubbo2.3以上的版本时,建议使用zookeeper注册中心)。
最后就跟大家分享一些安装步骤和在项目中使用的源码。
1、安装zookeeper注册中心
首先上传压缩包,进行解压,然后进入zookeeper解压目录,找到conf目录下文件名为zoo_sample.cfg并将文件名称修改为zoo.cfg,然后进行编辑配置,截图如下:
配置过程中主要注意:
主要配置dataDir和clientPort参数,clientPort参数使用默认值2181即可。
注意:datadir目录中的data目录如果不存在,也会自动生成,你也可以提前手动创建好。
2、Linux系统上部署Dubbo环境monitor监控中心(监控中心可安装也可不安装,建议安装,方便查看各个服务的调用情况)
首先上传dubbo-admin-2.5.4.war压缩包,然后准备一台Tomcat服务器,将上传好的dubbo-admin-2.5.4.war弄到tomcat/webapps目录下,启动服务器解压war包;找到tomcat/webapps/dubbo-admin-2.5.4/WEB-INF/dubbo.properties文件,进行修改,截图如下:
部署成功后访问情况如下:
二:论论Nginx服务器
首先给大家介绍一下我所理解的Nginx以及它在项目中的主要担当的角色,Nginx是一款高性能的http服务器/反向代理服务器及电子邮件代理服务器,经过官方测试nginx能够支撑5万并发链接,实际生产环境能到2-3万并发连接数,这就说明Nginx可以解决项目中的高并发问题,我是有所接触过,的确很强。并且cpu、内存等资源消耗缺非常低,运行非常稳定,高性能吧,呵呵。
Nginx的应用场景:
说了一点理论废话,我就分享一下我之前在项目中的搭建和配置Nginx服务器的经验,都是一些截图,希望能够帮到大家,谢谢。
三:Nginx实现负载均衡(这块我本人比较感兴趣,所以就跟大家所聊聊)
Nginx能够作为负载均衡的理由,这是我感觉非常有用,各位可以在以后的设计结构过程中完全可以考虑:
下面我就拿一个需求来说说吧,也没多少时间了。
需求:当我们访问由一台服务器的IP地址映射的域名访问网站时,后台不仅只有一台服务器在响应数据,而是有多台服务器在轮训进行响应数据。
最后赠送几张我们项目的总体架构流程图及模块分析图,可能有点不清晰,大家就将就瞅瞅,莫怪。【其他技术架构的分享后期还会更新,希望大家能够支持,谢谢】
基于服务的SOA架构_后续篇的更多相关文章
- 面向服务的SOA架构与服务总线ESB
之前的软件的开发主要是面向对象的编程架构 方法---对象---模块---组件---服务,感觉现在的开发的主流的软件架构的设计思想都是对其进行重用,只不过范围越来越大,有一个系统之间进行通信到多个系统之 ...
- jquery 直接调用 wcf,面向服务的SOA架构 ( 第二天)
在前面的基础上,我们来开始第二天编写 客户端 的东西,不过讲之前,我想告诉大家的是: 这个简单的SOA的架构,我们直接通过wcf 调用到 后台的方法, 而中间没有使用 C#代码,大大减少我们客户端的代 ...
- jquery 直接调用 wcf,面向服务的SOA架构 ( 第三天)
所谓万事 具备,只欠东风了!! 接下来就是 wcf 的调用, 首先 在客户端下,随便 写一个 html页面,然后写入如下方法: <script src="scripts/jquery. ...
- SOA架构
基于服务的SOA架构_后续篇 今天是元宵节,首先祝各位广大博友在接下来的光阴中技术更上一层,事事如意!(没能在元宵节发布,今天就补上吧) 昨天简单介绍了一下本人在近期开发过的一个电商购物平台的架构 ...
- SOA 架构与微服务架构的区别
注重重用,微服务注重重写 SOA 的主要目的是为了企业各个系统更加容易地融合在一起. 微服务通常由重写一个模块开始.要把整个巨石型的应用重写是有很大的风险的,也不一定必要.我们向微服务迁移的时候通常从 ...
- SOA架构设计
架构是—套构建系统的准则,通过这套准则,把—个复杂的系统划 分为一套更简单的子系统的集合,这些子系统之间保持相互独立,并与 整个系统保持一致,而且每—个子系统还可以继续细分下去,从而构成 —个企业级架 ...
- JAVAEE——宜立方商城02:服务中间件dubbo、工程改造为基于soa架构、商品列表实现
1. 学习计划 第二天:商品列表功能实现 1.服务中间件dubbo 2.工程改造为基于soa架构 3.商品列表查询功能实现. 2. 将工程改造为SOA架构 2.1. 分析 由于宜立方商城是基于soa的 ...
- SOA实践之基于服务总线的设计
在上文中,主要介绍了SOA的概念,什么叫做“服务”,“服务”应该具备哪些特性.本篇中,我将介绍SOA的一种很常见的设计实践--基于服务总线的设计. 基于服务总线的设计 基于总线的设计,借鉴了计算机内部 ...
- 基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇
开篇 系统架构的文章,准备在这段时间好好的梳理和整理一下,然后发布基于AgileEAS.NET平台之上的企业级应用架构实践,结合具体的案例来说明AgileEAS.NET平 台之上如何进行系统的逻辑架构 ...
随机推荐
- 解决SSh连接过慢
ssh 连接的时候特别慢 解决方法: 修改配置文件 /etc/ssh/sshd_config GSSAPIAuthentication yes --->no 81行左右 #UseDNS yes ...
- [Unity UGUI]UGUI提供多种不同的解决方案
现代游戏和应用程序经常需要支持各种不同的屏幕分辨率,特别是UI布局需要能够适应.UI系统在统一中包括各种工具来实现此目的,可以以多种方式组合在一起. 在这个小节我们将使用一个简单的案例研究和观察和比较 ...
- jQuery修改css属性
jQuery CSS 操作jQuery 拥有三种用于 CSS 操作的重要函数:$(selector).css(name,value)$(selector).css({properties})$(sel ...
- 【转】HTTP响应报文与工作原理详解
超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到 ...
- window下Git和github入门
tip:使用简单的例子来制作一个使用指南过程,默认文件夹为demo.看了3个早晨,写一下留个记录,可能有些不成熟,如有错误欢迎指正. 参考一:http://www.liaoxuefeng.com/wi ...
- Oracle数据库和实例的区别
一般Oracle数据库(Oracle Database)可以分为两部分,即实例(Instance)和数据库(Database). 实例:是一个非固定的.基于内存的基本进程与内存结构.当服务器关闭后,实 ...
- linux 中环境变量配置错误导致部分命令不能使用包括vi
1,使用 /bin/vi /etc/profile 可以打开环境变量 2,修改正确后,重启
- 笔记整理--玩转robots协议
玩转robots协议 -- 其他 -- IT技术博客大学习 -- 共学习 共进步! - Google Chrome (2013/7/14 20:24:07) 玩转robots协议 2013年2月8日北 ...
- 在windows上搭建ipv6代理
事出有因,学校每天12:00之后断网,断网之后怎么办?难道直接睡了?我不甘心. 幸好学校还是留有余地,在断网之后,还是能够上ipv6的,只是现阶段互联网对ipv6支持很不理想,怎么办?刚刚发现 ...
- python 日期格式化常用标记
符号 说明 例子 %a 英文星期的简写 Mon %A 英文星期的完整编写 Monday %b 英文月份的简写 Jun %B 英文月份的完整编写 June ...