您的位置:首页 > 教育 > 锐评 > 著名建筑设计作品解析_网架加工厂的地址_蚂蚁bt_网络营销方案策划书

著名建筑设计作品解析_网架加工厂的地址_蚂蚁bt_网络营销方案策划书

2025/4/3 13:06:24 来源:https://blog.csdn.net/javalongbo/article/details/146918666  浏览:    关键词:著名建筑设计作品解析_网架加工厂的地址_蚂蚁bt_网络营销方案策划书
著名建筑设计作品解析_网架加工厂的地址_蚂蚁bt_网络营销方案策划书

目录

1.搭建环境

2.搭建步骤

3.效果展示

4.注意项


1.搭建环境如下图所示:

2.搭建步骤

        2.1 目标概述

                一共三个服务,一个公共接口服务,一个提供者服务,一个消费者服务。最终以浏览器或者postman查询接口,实现订单信息回显。最终项目结构如图所示:

        2.2 搭建项目

                首先搭建根项目,pom文件详细信息如下代码块所示:

<modelVersion>4.0.0</modelVersion>
<groupId>org.sh.ds</groupId>
<artifactId>ds</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ds</name>
<description>ds</description>
<properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.version>
</properties>
<packaging>pom</packaging>
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>com.alibaba.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>0.2.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency>
</dependencies><modules><module>ds_interface</module><module>ds_provider</module><module>ds_consumer</module>
</modules>

                 接下来搭建公共接口服务,它是一个被引用的jar,无需启动类,整体结构如图所示:

pom文件详细信息如下代码块所示:

<parent><groupId>org.sh.ds</groupId><artifactId>ds</artifactId><version>0.0.1-SNAPSHOT</version>
</parent><modelVersion>4.0.0</modelVersion>
<groupId>org.sh.ds-interface</groupId>
<artifactId>ds_interface</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ds_interface</name>
<description>ds_interface</description>
<properties><java.version>1.8</java.version>
</properties>
<packaging>pom</packaging>

        接下来搭建提供者服务, 它是一个服务,需要启动类,整体结构图如下:

pom文件详细信息如下代码块所示:

<parent><groupId>org.sh.ds</groupId><artifactId>ds</artifactId><version>0.0.1-SNAPSHOT</version>
</parent>
<dependencies><dependency><groupId>org.sh.ds-interface</groupId><artifactId>ds_interface</artifactId><version>0.0.1-SNAPSHOT</version></dependency>
</dependencies><modelVersion>4.0.0</modelVersion>
<groupId>org.sh.provider</groupId>
<artifactId>ds_provider</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ds_provider</name>
<description>ds_provider</description>
<properties><java.version>1.8</java.version>
</properties>
<packaging>jar</packaging>

 yml文件如下图所示:

对应的启动类需要加注解@EnableDubbo,启动Dubbo自动配置,如下图所示:

提供者服务会提供订单的基本信息,具体代码如下所示:

import com.alibaba.dubbo.config.annotation.Service;
import org.sh.ds.ds_interface.bean.ConsumerInfo;
import org.sh.ds.ds_interface.service.ConsumerService;
import org.springframework.stereotype.Component;@Service
@Component
public class ConServiceImpl implements ConsumerService {@Overridepublic ConsumerInfo getConInfo(String orderNum) {return new ConsumerInfo("张三", "12345678901");}
}

其中,@service 必须引用dubbo注解, 暴漏服务,使Spring Bean作为Dubbo服务接口的实现类,自动将服务注册到配置的注册中心。如此,提供者服务就已经搭建完毕。 

        接下来搭建消费者服务,消费者服务提供接口,和提供者服务有些不同,整体结构图如下:

pom文件详细信息如下代码块所示:

<parent><groupId>org.sh.ds</groupId><artifactId>ds</artifactId><version>0.0.1-SNAPSHOT</version>
</parent><modelVersion>4.0.0</modelVersion>
<groupId>org.sh.consumer</groupId>
<artifactId>ds_consumer</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ds_consumer</name>
<description>ds_consumer</description>
<properties><java.version>1.8</java.version>
</properties>
<packaging>jar</packaging>
<dependencies><dependency><groupId>org.sh.ds-interface</groupId><artifactId>ds_interface</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

yml文件如下图所示:

server:port: 8081servlet:context-path: /apidubbo:application:name: dubbo-consumerregistry:address: 127.0.0.1:2181protocol: zookeepermonitor:protocol: registry

 

消费者接口具体实现如下所示:

 

@Reference
private ConsumerService consumerService;@Override
public Map<String,String> getOrderInfo(String orderNum) {Map<String,String> orderInfo = new HashMap<>();//基本信息ConsumerInfo consumerInfo = consumerService.getConInfo(orderNum);orderInfo.put("staffName",consumerInfo.getStaffName());orderInfo.put("staffPhone",consumerInfo.getStaffPhone());//订单信息orderInfo.put("orderNum",orderNum);return orderInfo;
}

 其中@Reference即消费者通过该注解注入服务提供者的接口代理对象,实现远程调用。

  2.3 服务启动 

        首先通过maven编译,打包确保无报错,然后依次启动zookeeper、提供者服务、消费者服务。

        zookeeper启动如下图所示:

具体怎么部署zookeeper可自行查询,需要注意的主要问题是和dubbo的版本兼容。

        提供者服务启动如下图所示:

        消费者服务启动如下图所示:

 

 

3. 效果展示

        通过postman请求结果如下图所示:

通过浏览器请求结果如下图所示:

 

4. 注意项 

        在搭建中发现最容易出问题的是版本兼容,所以必须搭配好版本。以免出现各种启动报错问题。例如启动zookeeper报错,启动微服务报错等。如下所示:

1.zookeeper报错:java.lang.NoClassDefFoundError: org/apache/zookeeper/Watcher

2. Close of session 0x0

java.io.IOException: Len error. A message from /192.168.31.190:52951 with advertised length of -625229312 is either a malformed message or too large to process (length is greater than jute.maxbuffer=1048575)

        zookeeper还可以配置web端可视化工具,有两种方式,其一:ZooInspector,这个可自行下载, 直接运行jar包即可。如下图所示:

 

其二:使用zkui工具,自行下载后,需要在idea中使用maven编译,生成jar包,如下图所示

 

 同级目录,需要复制一份config.cfg文件,打开该文件可设置登录用户和密码,如图所示:

 最后可在浏览器打开web端页面,如图所示:

 最后,整个项目就搭建完毕,需要思考的是从入门到具体应用,再到分布式组件的内部原理,还需要在工作中去实践总结经验。

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com