分布式:简而言之,多台服务器一起解决一个问题,加快解决问题的速度。
假设一台机器有100个线程,那么10台机器合并起来1000速度就会很快。
好比是两车道变为20车道,通行更快。
可以与大数据相关技术相结合,整合还需要继续学习。
zookeeper和dubbo
dobbo的框架:
docker安装zookeeper
docker pull zookeeper
docker images
docker run --name zk01 -p 2181:2181 --restart always -d zookeeper的id
创建服务的提供者和服务的消费者
创建一个空工程
—包含两个:一个提供者的module,一个消费者的module;
provider项目中:
引入zookeeper的依赖zkclient(到maven仓库中寻找)
dubbo.application.name=provider的项目名
dubbo.registry.address=zookeeper://192.168.2.20:2181
dubbo.scan.base-packages=扫面的服务的包
要给@Service(为dubbo的包)
consumer项目中:
引入zookeeper的依赖zkclient(到maven仓库中寻找)
dubbo.application.name=provider的项目名
dubbo.registry.address=zookeeper://192.168.2.20:2181
在Service中
@Reference
添加需要引用的dubbo 的Service服务,比如
@Reference
BookService bookService;
之后正常调用方法就可以,这样就建立远程调用。
dubbo可以简化远程调用的步骤。
分布式服务框架,解决服务之间远程过程调用,RPC
Dubbo和Spring Cloud
Spring Cloud是一个整体的分布式解决方案,Spring Cloud为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全局锁,leader选举,分布式session,集群状态)中快速构建的工具,使用Spring Cloud 的开发者可以快速的启动服务或构建应用、同事能够快速和云平台资源进行对接。
创建一个空项目
里面分为三个module:一个服务注册中心,一个provider,一个consumer
在provider中写入相关的service服务controller控制。
修改端口号:打成多个jar包
用cmd命令窗口:
java -jar jar包全名
例如: