网站建设的作业模板网站开发分哪几个步骤
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:50
当前位置: 首页 > news >正文
网站建设的作业模板,网站开发分哪几个步骤,中国九江网官网,四会市网站建设文章目录 一、需求环境/版本 二、须知2.1、什么是RPC#xff1f;2.2、什么是Dubbo#xff1f;2.3、什么是Nacos#xff1f; 三、普通的SpringBoot项目集成微服务组件方案#xff08;笔者给出两种#xff09;方案一#xff08;推荐#xff09;1、导入maven依赖#xff0… 文章目录 一、需求环境/版本 二、须知2.1、什么是RPC2.2、什么是Dubbo2.3、什么是Nacos 三、普通的SpringBoot项目集成微服务组件方案笔者给出两种方案一推荐1、导入maven依赖消费者和提供者都是一样的2、配置application.yml文件(消费者)配置application.yml文件(提供者)3、统一接口类注意看包名因为消费者和提供者的包名要一致4、提供者的接口接口上添加DubboService注解5、消费者调用接口6、调用成功 温馨提示方案二interface模块 祝您开发愉快 一、需求 在日益增长的业务需求中一开始使用的是每个项目独立开发虽然都是前后端分离的项目但是每一个项目之间互不干扰。后来因为某种需求需要几个项目的数据相互交错获取。 最开始的想法就是集成多个数据源。 举例 有A、B、C三个项目对应着数据库DBa、DBb、DBc、现在A项目需要同时操作DBa、DBc数据库。 这时最理想就是调用RPC框架了。
环境/版本
IDEA2022.3.2 java11 SpringBoot 2.7.12-SNAPSHOT Nacos 2.2.2
注意如果使用SpringBoot3.x以上的要使用jdk17以上的否则会启动报错。
二、须知
2.1、什么是RPC
RPC全称为Remote Procedure Call翻译为远程过程调用。它是一种计算机网络通信协议用于在不同的进程或计算机之间进行通信让它们像调用本地方法一样调用远程方法。
假设你有一个应用程序它需要调用另外一个计算机上的函数或方法通常情况下你需要通过网络编程手动发送请求和接收响应。而RPC则可以让你像调用本地函数一样直接调用远程函数简化了网络编程的复杂度。
具体来说RPC通信过程中调用方会像调用本地方法一样发送请求到远程服务器请求中包含了要调用的方法名和参数列表。远程服务器接收到请求后会解析请求调用对应的方法并将执行结果返回给调用方。调用方收到响应后就可以像处理本地函数一样对结果进行处理。
通俗来说RPC就像是你在打电话时向远程的对方说出你需要做的事情对方完成后告诉你结果。这样你就不需要亲自去完成任务了这个过程中你只需要关心需要完成的任务和结果不需要关心具体的实现方式。
RPC在分布式系统中的应用非常广泛比如微服务架构中的服务调用Hadoop中的远程过程调用等。它可以让分布式系统更加简单、灵活和可扩展。
2.2、什么是Dubbo
背景 Dubbo的诞生背景可以追溯到2011年当时阿里巴巴内部的分布式架构和服务治理已经比较成熟但面对日益增长的业务规模和复杂性分布式服务之间的调用和管理成为了一个巨大的挑战。在这样的背景下Dubbo应运而生。
Dubbo最初由阿里巴巴公司的工程师提出并开发旨在为阿里巴巴内部的分布式系统提供一种高性能、可靠、可扩展的RPC框架帮助阿里巴巴更好地构建分布式服务架构和实现服务治理。
后来随着Dubbo逐渐成熟并在阿里巴巴内部广泛应用阿里巴巴决定将其开源于2011年底正式发布第一个版本随后在2012年和2015年分别发布了2.0和2.5版本以及2019年发布的2.7版本。Dubbo的开源以及不断更新迭代吸引了越来越多的用户和开发者参与逐渐成为了Java生态系统中最受欢迎的RPC框架之一。
如今Dubbo已经广泛应用于阿里巴巴、华为、网易等企业的分布式系统中并得到了国内外各大互联网公司和社区的广泛认可和支持。
2018年11月Apache Dubbo 成为了 Apache 的顶级项目这意味着 Dubbo 已经发展成为一个非常成熟、高质量、社区活跃的开源项目。Dubbo 的加入也进一步加强了 Apache 在分布式系统领域的地位为分布式系统的发展和推广做出了巨大贡献。
作用
Dubbo主要包括三个核心模块
Provider服务提供者暴露服务的应用提供服务的方法。
Consumer服务消费者调用远程服务的应用消费服务的方法。
Registry服务注册中心服务注册与发现的管理中心。
Dubbo框架的工作流程如下
1、服务提供者启动向注册中心注册自己提供的服务。
2、服务消费者启动向注册中心订阅自己需要的服务。
3、注册中心返回可用的服务列表给服务消费者。
4、服务消费者调用远程服务。
5、远程服务提供者响应请求返回结果给服务消费者。
6、服务消费者收到响应完成调用。
2.3、什么是Nacos
Nacos是一种基于云原生理念构建的动态服务发现、配置管理和服务治理平台由阿里巴巴开源团队于2018年开源。它主要解决了分布式系统中服务注册、发现、配置管理和DNS服务等问题。
Nacos提供了以下核心功能
1、服务注册和发现Nacos可以帮助服务提供者自动注册服务并向Nacos Server汇报服务实例的健康状况服务消费者可以通过Nacos查询可用服务实例。
2、配置管理Nacos提供了集中式的配置管理功能支持动态配置、版本管理、灰度发布、监听等功能可以方便地管理分布式系统中的配置信息。
3、服务路由和负载均衡Nacos支持服务提供者和消费者之间的流量管理和路由规则的动态更新以及多种负载均衡策略。
4、DNS服务Nacos支持提供DNS服务可以在无需其他服务发现组件的情况下使用DNS方式进行服务发现。 温馨提示Dubbo官网上默认的注册中心是Zookeeper本文注册中心使用的是Nacos。 三、普通的SpringBoot项目集成微服务组件方案笔者给出两种
方案一推荐
像笔者这种的项目看 需求就是因为发展而演变成要使用微服务组件而不是一开始就选好微服务架构的。就看这个部分就好了。否则请看方案二。
1、导入maven依赖消费者和提供者都是一样的 !–nacos–dependencygroupIdcom.alibaba.nacos/groupIdartifactIdnacos-client/artifactIdversion2.2.2/version/dependency!– dubbo –dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion3.2.0-beta.6/version/dependency启动类加上注解EnableDubbo
2、配置application.yml文件(消费者)
server:port: 8102
spring:cloud:nacos:server-addr: localhost:8848
dubbo:consumer:check: falseapplication:name: dubbo-springboot-demo-consumerprotocol:name: dubbo# 设置为-1表示自动配置可用端口port: -1registry:address: nacos://127.0.0.1:8848
配置application.yml文件(提供者)
server:port: 8105
spring:cloud:nacos:server-addr: localhost:8848
dubbo:application:name: dubbo-springboot-demo-providerprotocol:name: dubboport: -1registry:address: nacos://127.0.0.1:8848
3、统一接口类注意看包名因为消费者和提供者的包名要一致
package com.example.astar.component;public interface DemoService {String sayHello(String name);
}
4、提供者的接口接口上添加DubboService注解
package com.example.astar.service.Impl;import com.example.astar.component.DemoService;// 注意包名
import org.apache.dubbo.config.annotation.DubboService;DubboService
public class AstarServiceImpl implements DemoService {private static int flag 0;Overridepublic String sayHello(String name) {String message 你好啊 name 》 flag;return message;}
}
5、消费者调用接口
package com.example.astar.controller;import com.example.astar.component.DemoService;//注意包名
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController
RequestMapping(/user)
public class UserController {DubboReferenceprivate DemoService demoService;GetMapping(/1)public String hello() {String result demoService.sayHello(Astar);String re Receive result result;System.out.println(re);return re;}
}
6、调用成功
启动这两个项目消费者和提供者因为消费者配置了check: false所以先启动哪一个项目都是可以的。消费者的端口是8102我们访问一下 http://localhost:8102/user/1 看到如下
温馨提示
DemoService的全限定包名是import com.example.astar.component.DemoService也就是说消费者和提供者之间的桥梁就是来自同一个接口我们需要在项目中分别创建一模一样的接口才可以实现类不用管。如果提供者和消费者的接口的包名不一样就会导致调用失败。
说人话就是两个项目都不在一个文件下怎么可能用同一个类这里只要这个类本身、包名一样就可以了Dubbo就会认为是一样的。
方案二
此方案是在一开始就决定用微服务这个框架的项目来说的通常我们会分为类似以下几个子模块 interface模块 步骤我就懒得说了大致和方案一一样不同的地方是公共模块interface的导入 在消费者和提供者上添加子模块即可 dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-samples-spring-boot-interface/artifactIdversion1.0-SNAPSHOT/version/dependency温馨提示打包的时候会把子模块的引入部分一起打包不用担心正常使用即可其余部分不变。 END 茫茫人海路漫漫 潜心修炼方有颜。 踏实走好每一步 静待花开见真章。
祝您开发愉快
- 上一篇: 网站建设的最终目标开发公司总经理职责
- 下一篇: 网站建设典型材料网站 后台 安装
相关文章
-
网站建设的最终目标开发公司总经理职责
网站建设的最终目标开发公司总经理职责
- 技术栈
- 2026年04月20日
-
网站建设的总体需求分析注册教育培训机构需要什么条件
网站建设的总体需求分析注册教育培训机构需要什么条件
- 技术栈
- 2026年04月20日
-
网站建设的总结与评价oa企业办公系统
网站建设的总结与评价oa企业办公系统
- 技术栈
- 2026年04月20日
-
网站建设典型材料网站 后台 安装
网站建设典型材料网站 后台 安装
- 技术栈
- 2026年04月20日
-
网站建设电话多少徐州网站制作建设
网站建设电话多少徐州网站制作建设
- 技术栈
- 2026年04月20日
-
网站建设电话销售录音做网站的首页下拉列表
网站建设电话销售录音做网站的首页下拉列表
- 技术栈
- 2026年04月20日
