广州有做虚拟货币网站,电商怎么做?如何从零开始学做电商赚钱,手机端网站怎么做的,有趣的网站网址之家目录
1#x1f95e;.什么是duboo
2#x1f32d;.架构图
3.#x1f37f;快速入门
4.#x1f9c7;浅浅理解 1.什么是duboo#x1f936;#x1f936;#x1f936; Dubbo是一个由阿里巴巴开发的基于Java的开源RPC框架。它提供了高性能、透明化的远程方法调用#xff0…
目录
1.什么是duboo
2.架构图
3.快速入门
4.浅浅理解 1.什么是duboo Dubbo是一个由阿里巴巴开发的基于Java的开源RPC框架。它提供了高性能、透明化的远程方法调用以及服务自动注册和发现、负载均衡、容错、限流、监控等功能使得分布式应用开发变得更加简单。Dubbo广泛应用于阿里巴巴内部服务化架构也是国内外很多大型互联网公司的首选框架之一。 2.架构图 Provider:暴露服务的服务提供方Container服务运行容器Consumer:调用远程服务的服务消费方Registry:服务注册与发现的注册中心Monitor统计服务的调用次数和调用时间的监控中心 3.快速入门
基本步骤 ①创建服务提供者Provider模块②创建服务消费者Consumer模块③在服务提供者模块编写UserServicelmpl 提供服务④在服务消费者中的UserController远程调用UserServicelmpl 提供的服务⑤分别启动两个服务测试 3.1user-api
创建一个模块作为公共接口
public interface UserService {public String say();
}3.2user-service
创建逻辑模块
1.导入依赖 1.引入user-api 2.tomcat端口为9000 propertiesspring.version5.1.9.RELEASE/spring.versiondubbo.version2.7.4.1/dubbo.versionzookeeper.version4.0.0/zookeeper.version/propertiesdependenciesdependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion1.7.21/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactIdversion1.7.21/version/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo/artifactIdversion${dubbo.version}/version/dependencydependencygroupIdorg.apache.curator/groupIdartifactIdcurator-framework/artifactIdversion${zookeeper.version}/version/dependencydependencygroupIdorg.apache.curator/groupIdartifactIdcurator-recipes/artifactIdversion${zookeeper.version}/version/dependencydependencygroupIdorg.example/groupIdartifactIduser-api/artifactIdversion1.0-SNAPSHOT/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.1/versionconfigurationport9000/portpath//path/configuration/plugin/plugins/build 2.创建spring.xml: 配置zookeeper注册中心的 ip地址和端口 !--项目名称--dubbo:application namedubbo-service/dubbo:application!--注册中心zookeeper地址--dubbo:registry addresszookeeper://192.168.20.130:2181/dubbo:registrydubbo:annotation packagecom.xz.service.impl/dubbo:annotation3.配置web.xml context-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath*:spring*.xml/param-value/context-paramlistenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listener 4.逻辑代码实现
Service//将这个类提供的方法对外发布将访问的地址 ip 端口注册到注册中心中
public class UserServiceImpl implements UserService {Overridepublic String say() {return hello xiaoZhang~;}
} 3.3user-web
创建一个模块作为访问层接口 1.导入依赖 1.引入user-api 2.tomcat端口为8000 propertiesspring.version5.1.9.RELEASE/spring.versiondubbo.version2.7.4.1/dubbo.versionzookeeper.version4.0.0/zookeeper.version/propertiesdependenciesdependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion1.7.21/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactIdversion1.7.21/version/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo/artifactIdversion${dubbo.version}/version/dependencydependencygroupIdorg.apache.curator/groupIdartifactIdcurator-framework/artifactIdversion${zookeeper.version}/version/dependencydependencygroupIdorg.apache.curator/groupIdartifactIdcurator-recipes/artifactIdversion${zookeeper.version}/version/dependencydependencygroupIdorg.example/groupIdartifactIduser-api/artifactIdversion1.0-SNAPSHOT/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.1/versionconfigurationport8000/portpath//path/configuration/plugin/plugins/build 2.配置web.xml
!--springmvc--servletservlet-namespringmvc/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:springmvc.xml/param-value/init-param/servletservlet-mappingservlet-namespringmvc/servlet-nameurl-pattern*.do/url-pattern/servlet-mapping
3.配置springmvc.xml 引入zookeeper注册中心的ip地址和端口以及要扫描的包 mvc:annotation-driven/context:component-scan base-packagecom.xz.controller/context:component-scan!--项目名称--dubbo:application namedubbo-web/dubbo:application!--注册中心zookeeper地址--dubbo:registry addresszookeeper://192.168.20.130:2181/dubbo:registrydubbo:annotation packagecom.xz.controller/dubbo:annotation4.controller接口实现 Reference的作用1.从zookeeper注册中心获取userService的访问url2.进行远程调用RPC3.将结果封装为代理对象给变量赋值 RestController
RequestMapping(/user)
public class UserController {Reference//远程注入private UserService userService;RequestMapping(/say)public String say(){return userService.say();}} 3.4加载运行插件
注意在启动插件时一定要先clear 和install 父项目的然后依次执行最后在启动tomcat7-run
不然你会痛苦的~ 至此~dubbo部署成功
4.浅浅理解 对于服务与消费的理解相对于之前的daoservicecontroller的三层架构如今服务就是servicecontroller就是消费者与此同时每个服务都可以独立开发、部署和维护