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

做网站一般需要多少钱免费网站推广网站破解版

做网站一般需要多少钱,免费网站推广网站破解版,外国手机网站设计,白名单 网站Dubbo 详解 一、Dubbo 是什么 官网与定义 Dubbo 是一款高性能、轻量级的开源服务框架,其官网为 double.apache.org,提供中文版本(网址含 “zh”)。 核心能力 Dubbo 具备六大核心能力: 面向接口代理的高性能 RPC …

Dubbo 详解

一、Dubbo 是什么

官网与定义

Dubbo 是一款高性能、轻量级的开源服务框架,其官网为 double.apache.org,提供中文版本(网址含 “zh”)。

核心能力

Dubbo 具备六大核心能力:

  1. 面向接口代理的高性能 RPC 调用 :RPC(Remote Procedure Call)即远程过程调用,允许一个服务请求另一个远程服务的能力,是 Dubbo 的核心。Dubbo 通过高性能 RPC 调用,实现服务间通信,通信协议可指定,默认用 Dubbo 协议,而非 HTTP。
  2. 智能容错和负载均衡 :针对调用而言,保障系统稳定性和高可用性。
  3. 服务自动注册与发现 :简化服务管理,方便服务提供方和消费方动态发现和调用服务。
  4. 高度可扩展能力 :满足不同业务场景需求。
  5. 运行流量调度 :优化服务调用过程中的流量分配。
  6. 可视化的服务治理与运维 :提升运维效率和管理水平。

这些能力均围绕 RPC 调用进行扩展或辅助,因此 Dubbo 的核心在于服务间的 RPC 调用,在多服务场景下,服务相互调用可考虑使用 Dubbo。

发展情况

Dubbo 最初由阿里巴巴内部开发,后捐赠给 Apache,期间经历维护中断,一些公司基于其自行维护衍生品,如当当的 Dubbo X。如今,Dubbo 支持多种语言,应用广泛,涵盖互联网公司(考拉、去哪儿等)和非互联网公司(中国电信、中国人寿等)。

二、RPC 介绍

概念及发展历程

RPC(远程过程调用)是服务间通信的一种方式。早期程序主要是内部方法调用,随着发展,出现同一台电脑内多个进程间调用需求,即进程间通信。进一步地,当需要调用的能力不在同一台电脑内时,便引入了 RPC(Remote Procedure Call)的概念。RPC 框架能方便实现远程调用,如 Dubbo,使得其他计算机或程序提供的服务被本地程序利用,加强系统间协作。

常见框架及对比

常见的 RPC 框架有:

  • 阿里 Dubbo 框架 :性能好,目前较为主流。
  • 新浪魔毯框架 :架构简单,适合初学者学习原理及源码,或作为开发小型 RPC 框架的参考。
  • Facebook Thrift 框架 :可伸缩跨语言框架,有强大代码生成引擎,支持多种语言,适用于跨语言通信场景。

选择框架需根据业务需求权衡,如团队技术栈统一且对性能要求高,可选 Dubbo;若需跨语言通信,Thrift 是不错选择;技术栈不统一时,HTTP 可能更合适。

HTTP 和 RPC 对比

对比 Dubbo 通信协议与 HTTP 协议:

  • 传输效率 :RPC 通常更高,因其协议无过多无用报文内容,无需转 json。
  • 通用性 :HTTP 更强,几乎被所有公司默认支持,联调首选;RPC 框架间兼容性差。
  • 负载均衡 :RPC 框架自带负载均衡策略,HTTP 需额外处理。

开发选择建议依据团队技术栈、语言需求及性能要求等因素综合考量。

三、Dubbo 工作原理

模块信息及架构

Dubbo 架构涉及以下模块:

  • provider :服务提供方,如商品服务提供查询商品详情能力。
  • consumer :服务消费方,调用远程服务获取所需能力。
  • registry :注册中心,用于服务注册与发现。
  • monitor :监控中心,监控调用次数、时间等数据。
  • container :服务运行时容器。

工作流程如下:

  1. 启动 container,provider 在其中运行并向注册中心注册。
  2. consumer 订阅服务信息,注册中心将地址提供给 consumer。
  3. consumer 获取信息后,直接调用对应 provider。
  4. consumer 和 provider 定期向 monitor 上报数据。

图中紫色虚线表示初始化过程,蓝色线(实线为同步调用,虚线为异步操作如通知和数据上报)表示其他操作。

四、项目开发流程

项目创建与配置

  1. 引入依赖 :在项目中引入 Dubbo 相关依赖,添加 Dubbo 特有的 @Service 注解。
  2. 指定注册中心 :整合 Dubbo 时,通常选 Zookeeper 作为注册中心,配置其地址以便 Dubbo 找到服务。
  3. 项目结构 :采用 spring cloud 课程结构,包含服务提供者(如课程列表)和服务调用者(如课程价格服务)两个模块,相互配合完成项目。

生产者开发

  1. 创建模块 :在 Idea 中新建 Maven 项目,删除原有 src 模块,新建子模块(如 producer),建立依赖关系。
  2. 编写代码 :在 producer 中创建包(如 com.imook.producer),包含 service 包定义接口(如 CourseListService)和实现类(如 CourseListServiceImpl),实现具体业务逻辑,如从数据库获取课程并展示。编写实体类(如 Course),继承 Serializable 接口,包含主键 ID、课程 ID、名称、是否上架等字段,引入 List 列表和 JAVA Util 工具类。
  3. 配置文件 :在 resources 新建 application.properties 配置文件,配置服务版本号、通信协议、端口号、注册地址等信息,指定 Dubbo 服务位置(如通过 dubbo.scan.base-packages)。

消费者开发

  1. 配置依赖 :消费者依赖配置与生产者基本一致,可复制生产者依赖配置并修改名称。
  2. 配置文件 :复制生产者配置文件,修改端口号(如 8084)和项目名称(如 course price)。
  3. 编写业务逻辑 :新建包(如 com.imook.consumer),复制 entity 和 dao 包,新建 service 包定义接口(如课程价格服务接口,含通过 ID 查找价格、获取课程列表并匹配价格等方法)及实现类(如 CoursePriceServiceImpl),在实现类中通过 @Reference 注解引入 Dubbo 服务,实现具体逻辑,如调用 Mapper 查询价格、获取课程列表并遍历匹配价格等。
  4. 控制器与启动类 :创建控制器,引入 service,实现具体功能如获取课程价格、课程名称和价格列表等。构建 Spring Boot 启动类,更换注解为 @SpringBootApplication 以对外暴露服务,并确保正确配置 Dubbo 相关内容。

注意事项

  1. ZooKeeper 启动 :消费者启动前必须确保 ZooKeeper 已启动,否则消费者找不到依赖服务会报错。
  2. 启动顺序 :生产者需先于消费者启动,让消费者能正常找到所依赖的服务,可通过配置关闭此检查。
  3. 注解选择 :区分 spring framework 和 Apache Dubbo 的库,正确选择 Dubbo 的 @Service 和 @Reference 注解,并指定版本,避免冲突。
  4. 配置细节 :生产者要正确配置协议、端口号、注册地址等信息,实体类需考虑驼峰配置,以确保下划线字段自动转换。
http://www.dtcms.com/wzjs/138829.html

相关文章:

  • 小说网站建设方案书知识营销
  • 知乎做笔记的网站免费学生html网页制作成品
  • 城乡建设部网站广州市seo优化代理
  • 微信公众平台网站建设新闻报道中国网络营销网
  • 网站怎么做劫持企业老板培训课程
  • 织梦网站后台怎么登陆武汉关键词seo排名
  • 李光辉:营销型企业网站建设的指导思想是什么?怎么做游戏推广员
  • 大连网站制作培训智能建站
  • 阿里巴巴网站分类导航做全屏上海哪家seo公司好
  • 请问哪里可以做网站今天全国31个省疫情最新消息
  • 个人办公室装修效果图网络优化工程师主要做什么
  • 哪个网站做供求信息seod的中文意思
  • wordpress4.6.9宁波seo推广优化
  • 保定网站建设维护谷歌paypal官网登录入口
  • 印度网站建设找客源免费用哪个软件好
  • 缙云做网站专业培训seo的机构
  • 搭理彩票网站开发廊坊关键词优化排名
  • wordpress会员无法注册化工网站关键词优化
  • 阿里云空间部署网站吗衡阳seo优化首选
  • 佛山做外贸网站如何广东疫情防控措施
  • 网站配色设计谷歌seo搜索
  • 建设网站哪专业青岛网络优化费用
  • 电子名片制作app武汉整站优化
  • 稳定的网站建设seo快速培训
  • wap网站模式百度网站免费优化软件下载
  • 如何做简易的网站下载百度语音导航地图安装
  • 涪陵网站设计百度搜图
  • 制作个人网站的要求网站优化排名公司
  • 免费建立企业网站长春seo整站优化
  • 建站系统的应用场景百度网盘链接