面向服务的架构
它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
大体上分为
面向服务的框架有利于
分布式
建立在网络之上的软件系统不同的服务发布在不同的服务器上,通过中间桥梁dubbo +zookeeper 进行系统间通信。减少服务强的负担,从而增加并发处理能力;使得系统之间松耦合。
测试
暴露接口的具体实现类 中的一个方法 testImple 是根据spring 包扫描自动管理的
消费者 通过spring 自动注入接口的实现对象,并调用方法。
将两个工程运行起来,浏览器中输入 http://localhost:8082/index/536563 (根据自己配置)
![]()
这就ok 了
Zookeeper
zookeeper 桥接了消费者和提供者,这里它只是一个 服务强 ,只需要将zookeeper 的包 导入即可。然后安装一个zookeeper 服务器。这里直接装在本机了。
单机版
直接修改zoo_sample.cfg文件改名为zoo.cfg ok 执行bin 下的 zkServer 启动(开发的时候使用)
集群版
直接修改zoo_sample.cfg文件改名为zoo.cfg
在data 目录下创建一个myid
写入 服务器之间的名字 有机台服务器 一般按照顺序编号
在zoo.cfg 中配置
server.id =ip:port
id 就是myid 中配置的id
这个就是告诉每台zookeeper 一共有几台服务器,你们通过这个ip 和这个端口,可以内部通信,选出leader.
注意:真正开发的时候多用配置文件dubbo.properties 来配置服务器的ip,prot ,以上为了简单直观。
后端开发一般不需要域名,内部怎么通信的于用户无关。要域名的一般都是前端 门户,让用户好记。
|
注意:由于调用服务是远程的所以返回的结果要进行远程传输,如果返回的是对象要实现序列化接口 implements serializable
dubbo的monitor
是dubbo写好的一个后台管理war 包导入到tomcat webapps 下就可以了
可以查看有那些提供服务,和哪些消费者