基于服务的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平 台之上如何进行系统的逻辑架构 ...
随机推荐
- [iOS] 响应式编程开发-ReactiveCocoa(二)
RAC实现图片下载功能 在实现异步RAC下载图片的过程中,需要注意以下几点: • 通过 NSURLConnection 对象的 +(RACSignal *)rac_sendAsynchronousRe ...
- Android小功能之垂直滚动条
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android=" ...
- Zabbix日志错误总结(持续更新)
no active checks on server [*.*.*.*:10051]: host [*] not found failed to accept an incoming connecti ...
- 实现基本TCP套接字客户端
//实现基本TCP套接字客户端var net = require('net');function getConnection(connName){ var client = net.connect({ ...
- shell sed
匹配 sed -n '/pattern/p' file_name |sed -n 7,12p #pattern是你要查的内容 #file_name是你要查的文件 以上实现:打印出匹配结果中的7-1 ...
- UVa 10034 - Freckles
题目大意:给出n个点的坐标(x,y),要求用线段将n个点连接起来,求最小的线段和. 最小生成树问题,用Kruskal算法进行求解,其中用到了并查集.将所有的点连接,构成一张图,对每一条边进行编号,两点 ...
- HTML/CSS/Javascript调试入门(转)
推荐Chrome作为开发工具(FF可以使用FireBug,IE8和之后的版本也有自己的调试工具) 1.HTML的调试 将鼠标放在任意元素上,右键Inspect Element,即可查看该元素的HTML ...
- PHP函数 mysql_real_escape_string 与 addslashes 的区别
addslashes 和 mysql_real_escape_string 都是为了使数据安全的插入到数据库中而进行的过滤,那么这两个函数到底是有什么区别呢? 首先,我们还是从PHP手册入手: 手册上 ...
- 持续集成的一些讨论(CI)
如何保证程序开发的新功能降低BUG,那就是需要他们自己写用测试工具来写测试用例,包括Mocha(JS).Junit(Java).GTest(C++):而上传到SVN或者GIT后,又如何保证能跟原有的功 ...
- pureMVC简单示例及其原理讲解三(View层)
本篇说的是View层,即视图层,在本示例中包括两个部分:MXML文件,即可视控件:Mediator. 可视控件 可视控件由UserForm.mxml(图1)和UserList.mxml(图2)两个文件 ...