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

十万pv的网站建设手机代理ip免费网址

十万pv的网站建设,手机代理ip免费网址,有帮忙做幻灯片的网站么,wordpress 糗百开发环境#xff1a;jdk8、dubbo3.2.9、nacos2.3.0、springboot2.7.17、dubbo-admin0.6.0。 Dubbo 是一个高性能的 Java RPC#xff08;远程调用#xff09;框架#xff0c;最初由阿里巴巴开发并开源#xff0c;主要用于构建 SOA 架构下的分布式应用系统( soa简单理解就是… 开发环境jdk8、dubbo3.2.9、nacos2.3.0、springboot2.7.17、dubbo-admin0.6.0。 Dubbo 是一个高性能的 Java RPC远程调用框架最初由阿里巴巴开发并开源主要用于构建 SOA 架构下的分布式应用系统( soa简单理解就是将重复功能或模块抽成通用组件对外提供服务从而实现复用)。 Dubbo提供了三大核心能力面向接口的远程方法调用智能容错和负载均衡以及服务自动注册和发现。Dubbo支持多种通信协议 比如dubbo、rmi、hessian、http、webservice、rest、redis等。 nacos即是注册中心又是配置中心注册中心解决服务治理问题配置中心解决配置文件散乱问题。 一、准备环境 1、mysql 1、在宿主机~/docker_install/mysql/目录下创建docker-compose.yml文件 version: 3.1 services:mysql: #定义mysql服务image: mysql:8.4 #使用 MySQL 8.4 的官方镜像构建container_name: mysql8 #容器名称restart: always #当Docker服务重启或容器异常退出时容器会自动重启。ports:- 3307:3306 #端口映射将宿主机的3307端口映射到容器的3306端口volumes: #挂在目录- ~/docker_install/mysql/my.cnf:/etc/mysql/my.cnf- ~/docker_install/mysql/data:/var/lib/mysql- ~/docker_install/mysql/mysql-files:/var/lib/mysql-filesenvironment:MYSQL_ROOT_PASSWORD: 123456 #设置root用户的密码TZ: Asia/Shanghai #时区LANG: en_US.UTF-8 #语言编码MYSQL_DATABASE: demo #初始化的数据库名称#授权 privileged: true user: root2、在宿主机~/docker_install/mysql/目录下创建my.cnf文件 #服务端参数配置 [mysqld] userroot #MySQL启动用户 default-storage-engineINNODB #创建新表时将使用的默认存储引擎 character-set-serverutf8mb4 #设置mysql服务端默认字符集 collation-serverutf8mb4_general_ci #数据库字符集对应一些排序等规则注意要和character-set-server对应 default-authentication-pluginmysql_native_passwordmax_connections1000 # 允许最大连接数 max_connect_errors100 # 最大错误连接数[mysql] default-character-setutf8mb4[client] default-character-setutf8mb4 # 设置mysql客户端默认字符集3、创建容器 docker-compose -f docker-compose.yml -p mysql8 up -d命令解释 docker-compose 服务编排工具。-f docker-compose.yml 指定要使用的yaml文件。-p mysql8 设置项目名称docker compose 使用项目名称来命名创建的容器、网络和卷等资源。避免在同一主机上运行多个不同的compose项目时出现命名冲突。up 用于启动由 docker-compose.yml 文件定义的所有服务。-d–detach以分离模式detached mode运行容器。后台方式运行 docker-compose常用命令 ps 基于docker-compose拉取的镜像生成的容器up docker-compose 创建和启动容器scale 创建容器的数量top 显示容器的进程logs 看容器的输出日志stop start、restart 停止、启动、重启down 删除容器网络数据卷镜像 2、nacos 基于docker-compose编排方式安装nacos并使用mysql持久化nacos配置信息。 1、创建docker-compose.yaml version: 3 services:nacos:image: nacos/nacos-server:v2.3.0-slim# 容器名称container_name: nacos# 端口映射ports:- 8848:8848- 9848:9848- 9849:9849# 容器权限privileged: true# 参数设置environment:JVM_XMS: 128mJVM_XMX: 128mJVM_MS: 64mJVM_MMS: 64mMODE: standaloneNACOS_REPLICAS: 1PREFER_HOST_MODE: ip# 挂载目录 volumes: - ./logs:/home/nacos/logs- ./plugins:/home/nacos/plugins- ./data:/home/nacos/data- ./config/application.properties:/home/nacos/conf/application.propertiesnetworks:nacos:aliases:- nacos_2.3.0 networks:nacos:name: nacos_2.3.0driver: bridge2、在宿主机./config/目录下创建application.properties # 只需要修改下面MySQL账号密码、连接地址 spring.datasource.platformmysql db.num1 db.url.0jdbc:mysql://127.0.0.1:3307/nacos_conf?characterEncodingutf8 connectTimeout1000socketTimeout3000autoReconnecttrue db.userroot db.password123456# 随机字符串要长点 nacos.core.auth.plugin.nacos.token.secret.key0123321adsfffdasf343134124fasfdfdffas34134343在mysql中执行sql脚本https://github.com/alibaba/nacos/blob/2.3.0/config/src/main/resources/META-INF/nacos-db.sql 3、创建容器 docker-compose up -dnacos访问地址http://ip:8848/nacos 3、dubbo-admin dubbo-adminhttps://github.com/apache/dubbo-admin/archive/refs/tags/0.6.0.zip dubbo-admin dubbo可视化后台它是一个前后的分离项目基于springbootvue开发需要依赖 nodejs、jdk、maven环境。 1、从github拉取代码git clone https://github.com/apache/dubbo-admin.git 2、使用idea打开dubbo-admin-server修改application.properties中的nacos配置: server.port38080 dubbo.protocol.port30880 dubbo.application.qos-port32222# centers in dubbo, if you want to add parameters, please add them to the url admin.registry.addressnacos://127.0.0.1:8848 admin.config-centernacos://127.0.0.1:8848 admin.metadata-report.addressnacos://127.0.0.1:8848 #---------------------------------------------------# dubbo-admin 账号密码 admin.root.user.nameroot admin.root.user.passwordroot#session timeout, default is one hour admin.check.sessionTimeoutMilli3600000#compress server.compression.enabledtrue server.compression.mime-typestext/css,text/javascript,application/javascript server.compression.min-response-size10240#token timeout, default is one hour admin.check.tokenTimeoutMilli3600000 #Jwt signingKey admin.check.signSecret86295dd0c4ef69a1036b0b0c15158d77#dubbo config dubbo.application.namedubbo-admin dubbo.registry.address${admin.registry.address} #dubbo.registry.parameters.namespace70b158a6-7e64-478d-8c5b-699089aa81d1# id generate type mybatis-plus.global-config.db-config.id-typenonedubbo.application.loggerslf4j3、运行dubbo-admin后端项目 通过nacos控制台可以看到dubbo-admin服务实例已成功注册到nacos中。 4、使用vscode或webstorm打开dubbo-admin-ui(node版本16.20.2) 5、运行dobbo-admin前端项目 # 安装项目依赖 npm install# 启动前端项目 npm run dev6、浏览器访问duboo-admin web页面http://localhost:38082/。账号/密码root/root 二、项目搭建 项目地址https://gitee.com/aopmin/dubbo3-demo.git 1、创建maven父工程 1、创建maven父工程不使用脚手架方式构建 2、父工程删除src源码目录 3、在父工程pom中管理子模块、锁定依赖版本 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcn.aopmin/groupIdartifactIddubbo3-demo/artifactIdversion1.0-SNAPSHOT/versiondescriptionduubo3示例项目父工程/descriptionmodulesmoduledubbo3-provider/modulemoduledubbo3-consumer/modulemoduledubbo3-api/module/modulespropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncodingspring.boot.version2.7.17/spring.boot.versionnacos.boot.version0.2.12/nacos.boot.versiondubbo.version3.2.9/dubbo.version/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion${spring.boot.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement /project最终项目结构 2、创建公共接口模块 dubbo是一个面向接口的远程调用消费端如果想要调用生产端的接口只需引入对应api接口模块jar包即可所以这里我们偷懒一下把它抽成公用模块方便复用。 创建一个dubbo接口 package cn.aopmin.api;/*** HelloService* author aopmin* since 2024/12/29*/ public interface HelloService {String getMsg(); }3、创建provider服务提供者 1、服务提供者pom.xml文件配置 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcn.aopmin/groupIdartifactIddubbo3-demo/artifactIdversion1.0-SNAPSHOT/version/parentartifactIddubbo3-provider/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!-- spring boot starter --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependency!-- springboot-web依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- dubbo依赖 --dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion${dubbo.version}/versionexclusionsexclusionartifactIdjavassist/artifactIdgroupIdorg.javassist/groupId/exclusion/exclusions/dependency!-- dubbo整合nacos --dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-registry-nacos/artifactId!-- version3.2.9/version --version${dubbo.version}/version/dependency!-- 公共接口模块 --dependencygroupIdcn.aopmin/groupIdartifactIddubbo3-api/artifactIdversion1.0-SNAPSHOT/versionscopecompile/scope/dependency/dependencies/project2、创建启动类 package cn.aopmin;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;/*** 服务提供者* author aopmin* since 2024/12/29*/ EnableDubbo // 开启dubbo SpringBootApplication public class ProviderApp {public static void main(String[] args) {SpringApplication.run(ProviderApp.class, args);System.out.println(Provider started successfully!);} }4、编写dubbo接口实现类 package cn.aopmin.service;import cn.aopmin.api.HelloService; import org.apache.dubbo.config.annotation.DubboService;import java.time.LocalDateTime; import java.util.HashMap;/*** dubbo接口实现类* author aopmin* since 2024/12/29*/ DubboService public class HelloSericeImpl implements HelloService {Overridepublic String getMsg() {return new HashMapString,Object(){{put(status,200);put(msg,Hello Dubbo!);put(datetime, LocalDateTime.now());}}.toString();} }5、创建application.yml文件 server:port: 5656 # 服务端口号spring:application:name: dubbo3-provider # 服务名称# dubbo配置 dubbo:application:name: ${spring.application.name}# 通信规则dubbo支持多种通信规则如dubbo、rmi、hessian、http等protocol:name: dubbo #使用dubbo协议port: 20880 # dubbo协议端口以供消费者访问-1即为随机端口# 注册中心配置registry:address: nacos://127.0.0.1:8848 #nacos6、启动服务提供者 启动成功后可以dubbo-admin、nacos中查看 最终项目结构 4、创建consumer服务消费者 1、服务消费者pom.xml配置 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcn.aopmin/groupIdartifactIddubbo3-demo/artifactIdversion1.0-SNAPSHOT/version/parentartifactIddubbo3-consumer/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!-- spring boot starter --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependency!-- springboot-web依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- lt;!ndash;nacos配置中心依赖ndash;gt; --!-- dependency --!-- groupIdcom.alibaba.boot/groupId --!-- artifactIdnacos-config-spring-boot-starter/artifactId --!-- version${nacos.boot.version}/version --!-- /dependency --!-- dubbo依赖 --dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion${dubbo.version}/versionexclusionsexclusionartifactIdjavassist/artifactIdgroupIdorg.javassist/groupId/exclusion/exclusions/dependency!-- dubbo整合nacos --dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-registry-nacos/artifactId!-- version3.2.9/version --version${dubbo.version}/version/dependency!-- 公共接口模块 --dependencygroupIdcn.aopmin/groupIdartifactIddubbo3-api/artifactIdversion1.0-SNAPSHOT/versionscopecompile/scope/dependency/dependencies /project2、创建启动类 package cn.aopmin;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;/*** 服务消费者* author aopmin* since 2024/12/29*/ SpringBootApplication public class ConsumerApp {public static void main(String[] args) {SpringApplication.run(ConsumerApp.class, args);System.out.println(Consumer started successfully!);} }3、配置application.yml server:port: 5657 # 服务端口号spring:application:name: dubbo3-consumer # 服务名称# dubbo配置 dubbo:application:name: ${spring.application.name}qosPort: 33333 # 服务质量监控中心端口,默认为22222# 通信规则dubbo支持多种通信规则如dubbo、rmi、hessian、http等protocol:name: dubbo #使用dubbo协议port: 20881 # dubbo协议端口以供消费者访问-1即为随机端口# 注册中心配置registry:address: nacos://127.0.0.1:8848 #nacos4、编写web接口 package cn.aopmin.controller;import cn.aopmin.api.HelloService; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** web接口* author aopmin* since 2024/12/29*/ RestController public class HelloController {// 注入远程服务(类似autowried,只不过autowried注入的是spring容器中的bean对象), 设置超时时间:1s和重试次数:2次DubboReference(timeout 1000, retries 1)private HelloService helloService;RequestMapping(/hello)public String hello() {return helloService.getMsg();} }5、启动服务消费者 6、测试 curl -i -X GET http://localhost:5657/hello 最终项目结构 三、Dubbo运行原理 dubbo一次RPC调用的过程分为4个角色Client消费者Client Stub客户端存档由框架实现Server Stub服务端存档由框架实现Server提供者调用过程1、Client发起远程调用Client发起远程调用实际上是由它的代理ClientStub实现的ClientStub把要调用目标类、目标方法、实参等等进行序列化然后通过网络传递给ServerStub。ServerStub接收数据反序列化再调用对应的目标类、目标方法得到执行结果ServerStub把目标方法的结果进行序列化通过网络返回给ClientStubClientStub接收数据反序列化得到结果。把这个结果返回给Client2、Client得到执行的结果,返回给调用者
http://www.w-s-a.com/news/361632/

相关文章:

  • 网页制作网站素材项目建设全过程管理
  • 正能量网站下载柬埔寨网赌网站开发
  • 如何免费建设公司网站广州传业建设有限公司网站
  • 织梦做的网站快照被攻击张家口网站建设公司
  • 平顶山公司网站建设南昌网站seo多少钱
  • 网站开发要先买服务器吗建设婚恋网站用什么搭建
  • 我想自己在网站上发文章 怎样做wordpress站点安装
  • 北京模板网站开发全包昆明网站开发正规培训
  • 西咸新区建设环保网站谷歌风格wordpress
  • 嘉兴港区建设局网站2018年网站开发
  • 网站里图片做超链接专业开发网站报价单
  • server2003网站建设做销售记住这十句口诀
  • microsoft免费网站网站后台登陆路径
  • 贵州住房和城乡建设局网站做网站排名费用多少钱
  • 现在个人做网站还能盈利吗xampp用wordpress
  • 做网站 租服务器温岭建设公司网站
  • 四川住房和城乡建设厅网站官网做网站最贵
  • 右玉网站建设四川林峰脉建设工程有限公司网站
  • 网站推广小助手杭州百度百家号seo优化排名
  • 怎么做网站搜索框搜索网站备案拍照背景幕布
  • 建设部网站城市规划资质标准伊春网络推广
  • 如何设计酒店网站建设深圳市房地产信息系统平台
  • 伍佰亿网站怎么样网站建设前台后台设计
  • 做整装的网站北京哪个网站制作公司
  • 建设赚钱的网站福州便民生活网
  • 咸阳网站设计建设公司小程序打包成app
  • 做视频网站视频文件都存放在哪做旅游宣传图的网站有哪些
  • 地方门户类网站产品推广惠州市中国建设银行网站
  • 网站建设公司推荐5788移动版wordpress
  • 产品类型 速成网站淘宝怎么建立自己的网站