当前位置: 首页 > news >正文

寿县移动公司网站建设seo推广教程seo高级教程

寿县移动公司网站建设,seo推广教程seo高级教程,济南著名网站建设,专业定制网站企业目录 前言 RPC思想 为什么使用Dubbo Dubbo技术框架 ​编辑 调用关系流程 基础实现 A.提供统一业务Api B.编辑服务提供者Product B.a 添加依赖 B.b 添加Dubbo 配置(基于yaml配置文件) B.c 编写并暴露服务 C.编辑服务消费者 C.a 添加依赖 C.b 添加Dubbo配置 C.c 引用…

目录

前言

RPC思想

为什么使用Dubbo

 Dubbo技术框架

​编辑

调用关系流程

基础实现

A.提供统一业务Api

 B.编辑服务提供者Product

B.a 添加依赖

B.b 添加Dubbo 配置(基于yaml配置文件)

B.c 编写并暴露服务

C.编辑服务消费者

C.a 添加依赖

C.b 添加Dubbo配置

C.c 引用服务


前言

Dubbo是基于Java的RPC分布式服务框架,主要用于提高性能和实现透明化的RPC远程服务调用以及SOA服务治理方案。简单来说,Dubbo就是一个用于分布式场景下实现远程调用的服务框架,当然Dubbo不只这个一个功能,这只是其中之一,它的核心模块还包括集群容错和自动发现等。

RPC思想

rpc全称Remote Procedure Call ,即远程过程调用,是一种进程间的通信方式,或者说是一种思想,用于解决不同服务器键的进程调用。

上图是RPC的调用流程图,具体的过程在Dubbo框架时会再介绍。对于上图中的关键点有两个,一个是建立连接,另一个是序列化和反序列化。

为什么说这两个是关键的地方呢,这是由于在分布式服务架构中,服务的调用基于网络传递,这时数据就需要进行序列化和反序列化的操作,因此服务器的性能也就取决于我们选择的RPC框架是否能够迅速的建立连接和实现序列化、反序列化。

为什么使用Dubbo

  • Dubbo可以讲核心的业务抽离出来,作为独立的服务,形成稳定的服务中心,以实现代码的灵活复用和拓展。
  • Dubbo的配置方式对应用没有任何侵入,做到了透明化接入应用,只需要Spring加载Dubbo配置即可
  • 再分布式架构下,可以承担更大规模的流量并发

 Dubbo技术框架

 节点说明

节点说明
Provider服务提供者
Consumer服务消费者
Registry服务注册(发现)中心
Moniter服务监控中心(统计调用次数和调用时间)
Container服务运行容器

调用关系流程

1、服务容器负责启动,加载,运行服务提供者;
2、服务提供者在启动时,向注册中心注册自己提供的服务;
3、服务消费者在启动时,向注册中心订阅自己所需的服务;
4、注册中心返回服务提供者地址列表给消费者;
5、服务消费者基于负载均衡算法,从提供者地址列表中,选择一位提供者进行调用,如果调用失败,再选另一位调用。
6、服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

基础实现

A.提供统一业务Api

/**
实战中,会将所有服务接口设计给一个叫做api的服务,单独维护,此处就在common服务设置*/public interface IProductService {Product findByPid(Integer pid);}

 B.编辑服务提供者Product

B.a 添加依赖

<!--dubbo--> 
<dependency><groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>

B.b 添加Dubbo 配置(基于yaml配置文件)

dubbo: scan: base-packages: com.apesource.service.impl # 开启包扫描protocols: dubbo: name: dubbo # 服务协议 port: -1 # 服务端口 使用随机端口registry: address: spring-cloud://localhost # 注册中心

B.c 编写并暴露服务

//暴露服务:注意这里使用的是dubbo提供的注解@Service,而不是Spring的
@Service public class ProductServiceImpl implements ProductService {@Autowired private ProductDao productDao; @Overridepublic Product findByPid(Integer pid) {return productDao.findById(pid);}}

C.编辑服务消费者

C.a 添加依赖

<!--dubbo--> 
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-dubbo</artifactId> 
</dependency>

C.b 添加Dubbo配置

dubbo: registry: address: spring-cloud://localhost # 注册中心cloud: subscribed-services: service-product # 订阅的提供者名称

C.c 引用服务

	@RestController public class OrderController {@Autowired private OrderService orderService; //引用服务 @Reference private IProductService productService; @RequestMapping("/order/prod/{pid}") public Order order(@PathVariable Integer pid) { System.out.println("接收到{}号商品的下单请求,接下来调用商品微服务查询此商品信息"+pid); //调用商品微服务,查询商品信息Product product = productService.findByPid(pid); //下单(创建订单) Order order = new Order(); order.setUid(1); order.setUsername("测试用户");order.setPid(pid);order.setPname(product.getPname()); order.setPprice(product.getPprice());order.setNumber(1);orderService.createOrder(order);System.out.println("创建订单成功,订单信息为{}"+JSON.toJSONString(order));return order;} }

http://www.khdw.cn/news/9545.html

相关文章:

  • 香港网站域名是什么结尾市场调研分析报告范文
  • 中国建设银行余额查询入口seo搜索引擎优化求职简历
  • 沧州网站建设培训网店代运营骗局流程
  • wordpress连接域名seo品牌
  • 咋做网站网络推广平台网站推广
  • 好的手机网站建设公司佛山旺道seo优化
  • 提高网站权重工具免费html网站模板
  • 上海网站备案要求吗浏览器下载安装
  • 做婚恋网站的思路网络广告联盟
  • 销售型网站设计互联网营销师证
  • 做网站的为什么不给域名和密码适合女生去的培训机构
  • 深圳做网站得外包公司网页模板免费html
  • 怎么自己做网站盗qq培训体系
  • 网站开发和web开发此网站服务器不在国内维护
  • 太原网站建设加q.479185700百度搜索推广多少钱
  • 建设摩托官方网站影响seo排名的因素有哪些
  • 聊城app制作网站清博大数据舆情监测平台
  • 网站开发平台 运行平台网站设计服务企业
  • 杭州外贸网站建设公司排名如何引流推广产品
  • 扬州网站建设价格低长尾关键词排名工具
  • 十堰为企业做网站的单位html期末大作业个人网站制作
  • 前端开发专业百度seo排名优化是什么
  • 软件开发培训学校porin惠州seo计费
  • 网站更改公司需要重新备案吗今天最新新闻事件报道
  • wordpress情侣博客优化大师有必要花钱吗
  • 婚庆网站模板免费外链代发
  • 网站建设实训总结及体会搜索引擎营销sem
  • 苏州建站免费模板商丘网站优化公司
  • 杭州网站建设哪家快速上线新站网站推广公司
  • 怎么查看网站是哪家公司做的百度搜索怎么优化