🔎这里是【微服务~Nacos】,关注我学习云原生不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️
【微服务~Nacos】 目前主要更新微服务,一起学习一起进步。
本期主要介绍微服务~Nacos
项目名:nacos-parent-2.1
添加坐标
- <parent>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-build</artifactId>
- <version>2.3.5.RELEASE</version>
- </parent>
-
- <properties>
- <spring.cloud.version>Hoxton.SR12</spring.cloud.version>
- <spring.cloud.alibaba.version>2.2.7-SNAPSHOT</spring.cloud.alibaba.version>
- <mybatis.plus.starter.version>3.4.0</mybatis.plus.starter.version>
- <durid.starter.version>1.1.10</durid.starter.version>
- <swagger.version>2.7.0</swagger.version>
- <jwt.jjwt.version>0.9.0</jwt.jjwt.version>
- <jwt.joda.version>2.9.7</jwt.joda.version>
- </properties>
-
-
- <dependencyManagement>
- <dependencies>
- <!-- Spring Dependencies -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-dependencies</artifactId>
- <version>${spring-boot.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-dependencies</artifactId>
- <version>${spring.cloud.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
-
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-alibaba-dependencies</artifactId>
- <version>2.2.7.RELEASE</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
-
- <!-- mybatis-plus -->
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-boot-starter</artifactId>
- <version>${mybatis.plus.starter.version}</version>
- </dependency>
-
- <!-- Druid连接池 -->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid-spring-boot-starter</artifactId>
- <version>${durid.starter.version}</version>
- </dependency>
-
- <!--swagger2-->
- <dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-swagger2</artifactId>
- <version>${swagger.version}</version>
- </dependency>
- <dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-swagger-ui</artifactId>
- <version>${swagger.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-
创建项目:nacos-provider-2.1
添加依赖:
- <dependencies>
- <!-- web 启动类 -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
-
- <!-- nacos 服务发现 -->
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
- </dependency>
- </dependencies>
- #server.port=8070
- #spring.application.name=service-provider
- #spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
- #端口号
- server:
- port: 8070
-
- spring:
- application:
- name: service-provider #服务名
- cloud:
- nacos:
- discovery:
- server-addr: 127.0.0.1:8848 #nacos服务地址
- package com.czxy.nacos;
-
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-
-
- @SpringBootApplication
- @EnableDiscoveryClient //服务发现
- public class TestNacosProviderApplication {
- public static void main(String[] args) {
- SpringApplication.run(TestNacosProviderApplication.class, args );
- }
- }
- package com.czxy.controller;
-
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RestController;
-
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
-
-
- @RestController
- public class EchoController {
-
- @Resource
- private HttpServletRequest request;
-
- @GetMapping("/echo/{string}")
- public String echo(@PathVariable String string) {
- int serverPort = request.getServerPort();
- return "Hello Nacos Discovery " + string + ":" + serverPort;
- }
- }
-
项目名:nacos-consumer-2.1
添加依赖
- <dependencies>
- <!-- web 启动类 -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
-
- <!-- nacos 服务发现 -->
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
- </dependency>
-
- <!-- openfeign 远程调用 -->
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-openfeign</artifactId>
- </dependency>
-
- </dependencies>
- #server.port=8071
- #spring.application.name=service-consumer
- #spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
- #端口号
- server:
- port: 8071
-
- spring:
- application:
- name: service-consumer #服务名
- cloud:
- nacos:
- discovery:
- server-addr: 127.0.0.1:8848 #nacos服务地址
-
- package com.czxy;
-
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-
-
- @SpringBootApplication
- @EnableDiscoveryClient //服务发现
- public class TestNacosConsumerApplication {
- public static void main(String[] args) {
- SpringApplication.run(TestNacosConsumerApplication.class, args );
- }
- }
- package com.czxy.config;
-
- import org.springframework.cloud.client.loadbalancer.LoadBalanced;
- import org.springframework.context.annotation.Bean;
- import org.springframework.stereotype.Component;
- import org.springframework.web.client.RestTemplate;
-
-
- @Component
- public class RestTemplateConfig {
- @LoadBalanced //负载均衡
- @Bean
- public RestTemplate restTemplate() {
- return new RestTemplate();
- }
- }
- package com.czxy.nacos.controller;
-
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.client.RestTemplate;
-
- import javax.annotation.Resource;
-
-
- @RestController
- public class TestRestController {
- @Resource
- private RestTemplate restTemplate;
-
- @RequestMapping(value = "/echo/{str}", method = RequestMethod.GET)
- public String echo(@PathVariable String str) {
- return restTemplate.getForObject("http://service-provider/echo/" + str, String.class);
- }
- }
-
通过Nacos控制台查看