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

怎么做网站推销自己的产品怎样推广海外网站

怎么做网站推销自己的产品,怎样推广海外网站,动漫制作专业在国企,c 做网站怎么发布Dubbo3程序的初步开发 Dubbo3升级的核心内容 易⽤性 开箱即⽤#xff0c;易⽤性⾼#xff0c;如 Java 版本的⾯向接⼝代理特性能实现本地透明调⽤功能丰富#xff0c;基于原⽣库或轻量扩展即可实现绝⼤多数的 微服务治理能⼒。更加完善了多语言支持#xff08;GO PYTHON R…Dubbo3程序的初步开发 Dubbo3升级的核心内容 易⽤性 开箱即⽤易⽤性⾼如 Java 版本的⾯向接⼝代理特性能实现本地透明调⽤功能丰富基于原⽣库或轻量扩展即可实现绝⼤多数的 微服务治理能⼒。更加完善了多语言支持GO PYTHON RUST) 超⼤规模微服务实践 ⾼性能通信Triple GRPC)⾼可扩展性 (SPI 多种序列化⽅式 多种协议)丰富的服务治理能⼒超⼤规模集群实例⽔平扩展 云原生友好 容器调度平台Kubernetes 将服务的组织与注册交给底层容器平台如 Kubernetes这是更云原 ⽣的⽅式。 Service Mesh 原有Mesh结构中通过Sidecar完成负载均衡、路由等操作但是存在链路的性能损耗⼤现有系统迁移繁琐等问题。 Dubbo3 引⼊Proxyless Mesh直接和I控制⾯交互[istio]通信。集成 ServiceMesh更为⽅便效率更高。 Dubbo3前言 代码结构及其术语解释 provider 功能提供者consumer 功能调⽤者【功能消费者】commons-api 通⽤内容 entity service接口registry 注册中⼼ 可选⽤于管理provider集群 开发步骤 开发commons-api 通⽤内容开发provider 功能提供者开发 consumer 功能调⽤者【功能消费者】如需要注册中心开发registry 注册中⼼ 本专题所使用软件版本 JDK使用了两种JDKJDK8和JDK17 Maven:3.8.7 Dubbo:3.2.0 JDK与Dubbo版本的关系 1. JDK8 与 Dubbo3.1.x以前的版本匹配在使⽤Zookeeper注册作为注册中⼼时消费者会出现节点已经存在的异常https://github.com/apache/dubbo/issues/11077 2. JDK17 与 Dubbo3.1.x之前的版本搭配使⽤会出现如下问题a. JDK9之后的深反射问题需要通过JVM参数配置解决-Dio.netty.tryReflectionSetAccessibletrue--add-opensjava.base/jdk.internal.miscALL-UNNAMED--add-opensjava.base/java.nioALL-UNNAMED--add-opensjava.base/java.langALL-UNNAMEDb. Dubbo3.2.0.beat4以前的版本使⽤的是Spring5.2.x 不能⽀持 JDK17会产⽣如下异常Unsupported class file major version 61 【major 61 对应 17 】版本需要升级到Dubbo3.2.0.beat5以上版本基于XML的Dubbo3程序开发 环境搭建 父项目pom.xml的依赖 dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.22/version /dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion1.7.32/version /dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.2.9/version /dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo/artifactIdversion3.2.0/version /dependency首先开发公共模块-api模块 实体entity Data ToString NoArgsConstructor AllArgsConstructor public class User implements Serializable {private String name;private String password; }接口service public interface UserService {public boolean login(String name,String password); }开发provider模块 在provider模块添加依赖 dependenciesdependencygroupIdcom.sjdwz/groupIdartifactIddubbo-01-api/artifactIdversion1.0-SNAPSHOT/version/dependency /dependencies实现接口 public class UserServiceImpl implements UserService{Overridepublic boolean login(String name, String password) {System.out.println(UserServiceImpl.login name name password password);return false;} }创建Spring配置文件配置Dubbo相关内容使得UserServiceImpl可以跨虚拟机来调用 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:dubbohttp://dubbo.apache.org/schema/dubboxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd!-- 为dubbo起个名字要做到唯一可以被注册中心所管理 --dubbo:application namedubbo-02-provider/!-- 设置rpc相关的协议 使得可以网络通信 --dubbo:protocol namedubbo port20880/!-- 创建对象 --bean iduserService classcom.sjdwz.service.UserServiceImpl/!-- 发布dubbo服务 --dubbo:service interfacecom.sjdwz.service.UserService refuserService//beansSpring工厂启动类 运行起来发现会导出一个url dubbo://192.168.96.1:20880/com.sjdwz.service.UserService开发consumer模块 引入api模块依赖 dependenciesdependencygroupIdcom.sjdwz/groupIdartifactIddubbo-01-api/artifactIdversion1.0-SNAPSHOT/version/dependency /dependencies创建Spring配置文件 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:dubbohttp://dubbo.apache.org/schema/dubboxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd!-- 配置dubbo服务名称 --dubbo:application namedubbo-03-consuemer /!-- 获取远端服务url就是刚才导出的url--dubbo:reference interfacecom.sjdwz.service.UserService iduserServiceurldubbo://192.168.96.1:20880/com.sjdwz.service.UserService//beans创建启动类 启动起来就可以看到消费端和生产端相应的输出。 注意 消费端会有一个异常 16:40:41.156 [main] ERROR org.apache.dubbo.qos.server.Server - [DUBBO] qos-server can not bind localhost:22222, dubbo version: 3.2.0, current host: 192.168.96.1, error code: 7-4. This may be caused by , go to https://dubbo.apache.org/faq/7/4 to find instructions. 问题产生的原因 QosQuality of Serviceqos是Dubbo的在线运维命令可以对服务进⾏动态的配置、控制及查询Dubboo2.5.8新版本重构了telnettelnet是从Dubbo2.0.5开始⽀持的模块提供了新的telnet命令支持新版本的telnet端⼝与dubbo协议的端⼝是不同的端⼝默认为22222。正是因为这个问题如果在⼀台服务器里面启动provider是22222端⼝⽽consumer启动时就会报错了。xml解决方案 dubbo:parameter keyqos.enable valuetrue/ !-- 是否开启在线运维命令 -- dubbo:parameter keyqos.accept.foreign.ip valuefalse/ !-- 不允许其他机器的访问 -- dubbo:parameter keyqos.port value33333/ !-- 修改port--boot解决方案 dubbo.application.qos.enabletrue dubbo.application.qos.port33333 dubbo.application.qos.accept.foreign.ipfalse细节补充 协议、端口 provider基于dubbo协议 默认的端⼝是20880 dubbo:protocol namedubbo port20880/ 但是随着应⽤数量过⼤如果显示指定协议端⼝会容易造成端⼝冲突所以建议按照如下写法设置 端⼝ dubbo:protocol namedubbo port-1/应用程序运行过程浅析 为什么provider提供了UserService的实现而在另一个JVM中的consumer中可以调用Consumer中调用的到底是什么 实际上调用的是远端UserServiceImpl的代理对象 Proxy 代理的核心工作是什么 被consumer实际调用通过代理对consumer屏蔽网络通信的过程通信方式、协议、序列化数据传递。 基于SpringBoot的方式使用Dubbo SpringBoot应用Dubbo开发应用的核心思路分析 深度封装把公⽤的配置放置到application.yml中把个性的配置应⽤注解进⾏设置。 provider的处理 consumer的处理 编码开发 provider模块 创建新的module 再引入api模块和dubbo-starter dependencygroupIdcom.sjdwz/groupIdartifactIddubbo-01-api/artifactIdversion1.0-SNAPSHOT/version /dependency dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion3.2.0/version /dependency创建applicaion.yml将公共的配置放到这里面 个性化的配置使用注解来完成 启动类上加**EnableDubbo**注解 consumer模块 再引入api模块和dubbo-starter dependencygroupIdcom.sjdwz/groupIdartifactIddubbo-01-api/artifactIdversion1.0-SNAPSHOT/version /dependency dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion3.2.0/version /dependency创建applicaion.yml将公共的配置放到这里面 在启动类中加上注解 在测试类中进行测试 SpringBootTest class Dubbo05BootConsumerApplicationTests {//url是刚才输出的urlDubboReference(url dubbo://192.168.96.1:20880/com.sjdwz.service.UserService)private UserService userService;Testpublic void test1() {boolean ret userService.login(sjdwz, 123456);System.out.println(ret ret);} }EnableDubbo注解的作用 EnableDubbo ⽤于扫描DubboService并把对应的对象实例化、发布成RPC服务。扫描的路径应⽤这个注解的类启动类所在的包及其子包。如果DubboService注解修饰的类没有放到EnableDubbo注解修饰类当前包及其⼦包还希望能够扫描到它该如何处理 可以通过DubboComponentScan(basePackages {“org.sjdwz.service”})显示的指定扫描的路径yml进⾏配置扫描DubboService 并把对应的对象实例化发布成RPC服务。 dubbo.scan.base-packages 等同于 EnableDubbo DubboService注解的作用 应⽤DubboService注解修饰类型SpringBoot会创建这个类型的对象并发布成Dubbo服务。DubboService 等同于 Component(Service) Bean注解的创建对象的作⽤。 通过源码SingletonObjects可以验证DubboService a. 创建对象 等同于 Component(Service) Bean b. 发布成RPC服务后续开发过程中如果考虑兼容性建议实现类不仅仅要加⼊DubboService注解同时也要加⼊Service注解 DubboReference注解的作用 在Consumer端通过DubboReference注⼊远端服务的代理对象。DubboReference类似于原始Spring开发中Autowired注解的作⽤。
http://www.pierceye.com/news/491210/

相关文章:

  • 网站建设视频教程 百度云网站制作背景图片
  • 网站域名起名网站建设企业排行榜
  • 高端品牌网站定制设计wordpress多张页面左右滑动
  • git网站开发网名logo设计制作
  • seo在线网站诊断推推蛙seo兼职怎么收费
  • 网站数据分析视频深圳市昊客网络科技有限公司
  • 外贸网站做开关行业的哪个好网站互动优化
  • 西班牙语网站设计哪家好开发一个跑腿app需要多少钱
  • 怎么才能提高网站点击量 免费网站原型图软件
  • wordpress私人建站主题网络公司手机网站
  • 做网站设计比较好的公司wordpress wp_trim_words
  • 湖南对外建设集团网站wordpress中数据库配置文件
  • 设计类网站模板物流企业网站建设策划书
  • dw建设手机网站永久免费网站推荐
  • 微信官方网站怎么进入自己做网站推广试玩
  • 郑州网站建设老牌公司贵州省城乡建设厅网站材料价
  • 网站建设费是什么上海建设网站公司
  • 怎么查出这个网站是谁做的谷歌首页
  • 桂林网站建设国内crm系统哪家好
  • 网站建设数据库配置查看商标是否被注册官网
  • 关于网站制作做网站用com还是cn好
  • 手机网站支付网站建设 sheji021
  • 兴义网站制作网上开的公司网站打不开
  • 三只松鼠的网站建设理念桐庐营销型网站建设
  • 建设银行网站未响应大理如何做百度的网站
  • 广州建立公司网站多少钱页面跳转不了怎么回事
  • 爱做的小说网站吗百度权重高的发帖网站
  • 做网站的空间费用要多少产品怎么做推广和宣传
  • 商城网站制作明细老牌深圳公司大雨中解散
  • wordpress缩略图设置百度站长工具seo