摘自官网:https://spring.io/projects/spring-cloud-alibaba
Spring Cloud Alibaba provides a one-stop solution for distributed application development. It contains all the components required to develop distributed applications, making it easy for you to develop your applications using Spring Cloud.
Spring Cloud Alibaba 为分布式服务开发提供一站式的解决方案。包含了用于开发分布式应用的所有组件,使用Spring Cloud开发应用变得简单方便。
With Spring Cloud Alibaba, you only need to add some annotations and a small amount of configurations to connect Spring Cloud applications to the distributed solutions of Alibaba, and build a distributed application system with Alibaba middleware.
使用Spring Cloud Alibaba,你只需要添加一些注解和一些配置类就可以将Spring Cloud应用连接到Alibaba的分布式组件,通过Alibaba这个中间件构建一个分布式的服务系统。
Features 特色
-
Flow control and service degradation:flow control, circuit breaking and system adaptive protection with Sentinel.
流程控制和服务降级:流程控制、熔断和系统哨兵适应性保护 -
Service registration and discovery:instances can be registered with Nacos and clients can discover the instances using Spring-managed beans. Supports Ribbon, the client side load-balancer via Spring Cloud Netflix.
服务注册与发现:通过Nacos注册实例,客户端通过使用Spring就可以查找到实例。支持Ribbon,服务端通过Spring Cloud Netflix实现负载均衡。 -
Distributed Configuration:using Nacos as a data store
分布式配置中心:使用Nacos作为数据存储仓库 -
Event-driven:building highly scalable event-driven microservices connected with Spring Cloud Stream RocketMQ Binder
事件驱动:通过连接Spring Cloud Cloud Stream的RocketMQ Binder构建高伸缩的事件驱动微服务 -
Message Bus: link nodes of a distributed system with Spring Cloud Bus RocketMQ
消息总线:通过Spring Cloud Bus RocketMQ将分布式服务的节点都连接在一起成为消息总线 -
Distributed Transaction:support for distributed transaction solution with high performance and ease of use with Seata
分布式服务:通过简单易用、高性能的Seata支持分布式服务 -
Dubbo RPC:extend the communication protocols of Spring Cloud service-to-service calls by Dubbo RPC
Dubbo 远程调用:通过Dubbo扩展了Spring Cloud服务与服务之间的通信协议 -
Alibaba Cloud Object Storage:Spring Resource Abstraction for OSS. Alibaba Cloud Object Storage Service (OSS) is an encrypted, secure, cost-effective, and easy-to-use object storage service that enables you to store, back up, and archive large amounts of data in the cloud
构建nacos服务端
登录网址(https://github.com/alibaba/nacos/releases)下载nacos
选择一个版本,可以下载源码或者执行文件
本次选择源码,版本为最新稳定版1.2.1
下载后导入到IDE中,并进入console项目下,如下图所示
修改META-INF/nacos-default.properties文件
修改为自己的数据库
db.num=1
db.url.0=jdbc:mysql://192.168.0.103:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
并在对应的数据库执行脚本nacos-1.2.1\distribution\conf\nacos-mysql.sql
这个脚本在5.7版本及以上执行才可以 否则会抛出异常
[Err] 1067 - Invalid default value for ‘gmt_create’
启动nacos服务com.alibaba.nacos.Nacos
经过一会的starting,最后会出现如下信息
2020-05-30 14:44:01.343 INFO 220 --- [ main] c.l.StartingSpringApplicationRunListener : Nacos started successfully in cluster mode.
访问网址:http://192.168.163.1:8848/nacos/index.html
输入用户名和密码(默认都是nacos)并提交
可以看到此时并没有注册的服务
构建微服务客户端
- 首先创建一个maven项目,pom文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.cloud</groupId>
<artifactId>spring-cloud-alibaba-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-cloud-alibaba-demo</name>
<description>Demo project for Spring Boot</description>
<dependencyManagement>
<dependencies>
<!-- Spring Dependencies -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.8.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
- 创建一个启动类
package com.example.cloud.springcloudalibabademo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@EnableDiscoveryClient
public class SpringCloudAlibabaDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudAlibabaDemoApplication.class, args);
}
@RestController
public class EchoController {
@GetMapping(value = "/echo/{string}")
public String echo(@PathVariable String string) {
return "Hello Nacos Discovery " + string;
}
}
}
- 编写配置文件application.properties
#################################### common config : ####################################
spring.application.name=spring-cloud-alibaba-demo
# 应用服务web访问端口
server.port=8081
# ActuatorWeb访问端口
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
spring.cloud.nacos.discovery.server-addr=192.168.163.1:8848
- 启动微服务 打印日志如下
"C:\Program Files\Java\jdk1.8.0_92\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2019.3.1\lib\idea_rt.jar=8132:D:\Program Files\JetBrains\IntelliJ IDEA 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_92\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\rt.jar;D:\springcloud\spring-cloud-alibaba-demo\target\classes;D:\maven\repo\org\springframework\boot\spring-boot-starter-web\2.1.8.RELEASE\spring-boot-starter-web-2.1.8.RELEASE.jar;D:\maven\repo\org\springframework\boot\spring-boot-starter\2.1.8.RELEASE\spring-boot-starter-2.1.8.RELEASE.jar;D:\maven\repo\org\springframework\boot\spring-boot\2.1.8.RELEASE\spring-boot-2.1.8.RELEASE.jar;D:\maven\repo\org\springframework\boot\spring-boot-autoconfigure\2.1.8.RELEASE\spring-boot-autoconfigure-2.1.8.RELEASE.jar;D:\maven\repo\org\springframework\boot\spring-boot-starter-logging\2.1.8.RELEASE\spring-boot-starter-logging-2.1.8.RELEASE.jar;D:\maven\repo\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\maven\repo\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\maven\repo\org\slf4j\slf4j-api\1.7.28\slf4j-api-1.7.28.jar;D:\maven\repo\org\apache\logging\log4j\log4j-to-slf4j\2.11.2\log4j-to-slf4j-2.11.2.jar;D:\maven\repo\org\apache\logging\log4j\log4j-api\2.11.2\log4j-api-2.11.2.jar;D:\maven\repo\org\slf4j\jul-to-slf4j\1.7.28\jul-to-slf4j-1.7.28.jar;D:\maven\repo\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;D:\maven\repo\org\springframework\spring-core\5.1.9.RELEASE\spring-core-5.1.9.RELEASE.jar;D:\maven\repo\org\springframework\spring-jcl\5.1.9.RELEASE\spring-jcl-5.1.9.RELEASE.jar;D:\maven\repo\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;D:\maven\repo\org\springframework\boot\spring-boot-starter-json\2.1.8.RELEASE\spring-boot-starter-json-2.1.8.RELEASE.jar;D:\maven\repo\com\fasterxml\jackson\core\jackson-databind\2.9.9.3\jackson-databind-2.9.9.3.jar;D:\maven\repo\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;D:\maven\repo\com\fasterxml\jackson\core\jackson-core\2.9.9\jackson-core-2.9.9.jar;D:\maven\repo\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.9\jackson-datatype-jdk8-2.9.9.jar;D:\maven\repo\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.9\jackson-datatype-jsr310-2.9.9.jar;D:\maven\repo\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.9\jackson-module-parameter-names-2.9.9.jar;D:\maven\repo\org\springframework\boot\spring-boot-starter-tomcat\2.1.8.RELEASE\spring-boot-starter-tomcat-2.1.8.RELEASE.jar;D:\maven\repo\org\apache\tomcat\embed\tomcat-embed-core\9.0.24\tomcat-embed-core-9.0.24.jar;D:\maven\repo\org\apache\tomcat\embed\tomcat-embed-el\9.0.24\tomcat-embed-el-9.0.24.jar;D:\maven\repo\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.24\tomcat-embed-websocket-9.0.24.jar;D:\maven\repo\org\hibernate\validator\hibernate-validator\6.0.17.Final\hibernate-validator-6.0.17.Final.jar;D:\maven\repo\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;D:\maven\repo\org\jboss\logging\jboss-logging\3.3.3.Final\jboss-logging-3.3.3.Final.jar;D:\maven\repo\com\fasterxml\classmate\1.4.0\classmate-1.4.0.jar;D:\maven\repo\org\springframework\spring-web\5.1.9.RELEASE\spring-web-5.1.9.RELEASE.jar;D:\maven\repo\org\springframework\spring-beans\5.1.9.RELEASE\spring-beans-5.1.9.RELEASE.jar;D:\maven\repo\org\springframework\spring-webmvc\5.1.9.RELEASE\spring-webmvc-5.1.9.RELEASE.jar;D:\maven\repo\org\springframework\spring-aop\5.1.9.RELEASE\spring-aop-5.1.9.RELEASE.jar;D:\maven\repo\org\springframework\spring-context\5.1.9.RELEASE\spring-context-5.1.9.RELEASE.jar;D:\maven\repo\org\springframework\spring-expression\5.1.9.RELEASE\spring-expression-5.1.9.RELEASE.jar;D:\maven\repo\org\springframework\boot\spring-boot-starter-actuator\2.1.8.RELEASE\spring-boot-starter-actuator-2.1.8.RELEASE.jar;D:\maven\repo\org\springframework\boot\spring-boot-actuator-autoconfigure\2.1.8.RELEASE\spring-boot-actuator-autoconfigure-2.1.8.RELEASE.jar;D:\maven\repo\org\springframework\boot\spring-boot-actuator\2.1.8.RELEASE\spring-boot-actuator-2.1.8.RELEASE.jar;D:\maven\repo\io\micrometer\micrometer-core\1.1.6\micrometer-core-1.1.6.jar;D:\maven\repo\org\hdrhistogram\HdrHistogram\2.1.9\HdrHistogram-2.1.9.jar;D:\maven\repo\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;D:\maven\repo\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-discovery\2.1.0.RELEASE\spring-cloud-starter-alibaba-nacos-discovery-2.1.0.RELEASE.jar;D:\maven\repo\com\alibaba\cloud\spring-cloud-alibaba-nacos-discovery\2.1.0.RELEASE\spring-cloud-alibaba-nacos-discovery-2.1.0.RELEASE.jar;D:\maven\repo\com\alibaba\nacos\nacos-client\1.1.1\nacos-client-1.1.1.jar;D:\maven\repo\com\alibaba\nacos\nacos-common\1.1.1\nacos-common-1.1.1.jar;D:\maven\repo\commons-io\commons-io\2.2\commons-io-2.2.jar;D:\maven\repo\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar;D:\maven\repo\com\alibaba\nacos\nacos-api\1.1.1\nacos-api-1.1.1.jar;D:\maven\repo\com\alibaba\fastjson\1.2.47\fastjson-1.2.47.jar;D:\maven\repo\com\google\guava\guava\19.0\guava-19.0.jar;D:\maven\repo\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;D:\maven\repo\io\prometheus\simpleclient\0.5.0\simpleclient-0.5.0.jar;D:\maven\repo\org\springframework\cloud\spring-cloud-commons\2.1.5.RELEASE\spring-cloud-commons-2.1.5.RELEASE.jar;D:\maven\repo\org\springframework\security\spring-security-crypto\5.1.6.RELEASE\spring-security-crypto-5.1.6.RELEASE.jar;D:\maven\repo\org\springframework\cloud\spring-cloud-context\2.1.5.RELEASE\spring-cloud-context-2.1.5.RELEASE.jar;D:\maven\repo\org\springframework\cloud\spring-cloud-starter-netflix-ribbon\2.1.5.RELEASE\spring-cloud-starter-netflix-ribbon-2.1.5.RELEASE.jar;D:\maven\repo\org\springframework\cloud\spring-cloud-starter\2.1.5.RELEASE\spring-cloud-starter-2.1.5.RELEASE.jar;D:\maven\repo\org\springframework\security\spring-security-rsa\1.0.9.RELEASE\spring-security-rsa-1.0.9.RELEASE.jar;D:\maven\repo\org\bouncycastle\bcpkix-jdk15on\1.64\bcpkix-jdk15on-1.64.jar;D:\maven\repo\org\bouncycastle\bcprov-jdk15on\1.64\bcprov-jdk15on-1.64.jar;D:\maven\repo\org\springframework\cloud\spring-cloud-netflix-ribbon\2.1.5.RELEASE\spring-cloud-netflix-ribbon-2.1.5.RELEASE.jar;D:\maven\repo\org\springframework\cloud\spring-cloud-netflix-archaius\2.1.5.RELEASE\spring-cloud-netflix-archaius-2.1.5.RELEASE.jar;D:\maven\repo\org\springframework\cloud\spring-cloud-starter-netflix-archaius\2.1.5.RELEASE\spring-cloud-starter-netflix-archaius-2.1.5.RELEASE.jar;D:\maven\repo\com\netflix\archaius\archaius-core\0.7.6\archaius-core-0.7.6.jar;D:\maven\repo\com\google\code\findbugs\jsr305\3.0.1\jsr305-3.0.1.jar;D:\maven\repo\commons-configuration\commons-configuration\1.8\commons-configuration-1.8.jar;D:\maven\repo\com\netflix\ribbon\ribbon\2.3.0\ribbon-2.3.0.jar;D:\maven\repo\com\netflix\ribbon\ribbon-transport\2.3.0\ribbon-transport-2.3.0.jar;D:\maven\repo\io\reactivex\rxnetty-contexts\0.4.9\rxnetty-contexts-0.4.9.jar;D:\maven\repo\io\reactivex\rxnetty-servo\0.4.9\rxnetty-servo-0.4.9.jar;D:\maven\repo\com\netflix\hystrix\hystrix-core\1.5.18\hystrix-core-1.5.18.jar;D:\maven\repo\javax\inject\javax.inject\1\javax.inject-1.jar;D:\maven\repo\io\reactivex\rxnetty\0.4.9\rxnetty-0.4.9.jar;D:\maven\repo\com\netflix\ribbon\ribbon-core\2.3.0\ribbon-core-2.3.0.jar;D:\maven\repo\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;D:\maven\repo\com\netflix\ribbon\ribbon-httpclient\2.3.0\ribbon-httpclient-2.3.0.jar;D:\maven\repo\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;D:\maven\repo\org\apache\httpcomponents\httpclient\4.5.9\httpclient-4.5.9.jar;D:\maven\repo\org\apache\httpcomponents\httpcore\4.4.12\httpcore-4.4.12.jar;D:\maven\repo\com\sun\jersey\jersey-client\1.19.1\jersey-client-1.19.1.jar;D:\maven\repo\com\sun\jersey\jersey-core\1.19.1\jersey-core-1.19.1.jar;D:\maven\repo\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar;D:\maven\repo\com\sun\jersey\contribs\jersey-apache-client4\1.19.1\jersey-apache-client4-1.19.1.jar;D:\maven\repo\com\netflix\servo\servo-core\0.12.21\servo-core-0.12.21.jar;D:\maven\repo\com\netflix\netflix-commons\netflix-commons-util\0.3.0\netflix-commons-util-0.3.0.jar;D:\maven\repo\com\netflix\ribbon\ribbon-loadbalancer\2.3.0\ribbon-loadbalancer-2.3.0.jar;D:\maven\repo\com\netflix\netflix-commons\netflix-statistics\0.1.1\netflix-statistics-0.1.1.jar;D:\maven\repo\io\reactivex\rxjava\1.3.8\rxjava-1.3.8.jar" com.example.cloud.springcloudalibabademo.SpringCloudAlibabaDemoApplication
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.8.RELEASE)
2020-05-30 14:55:02.235 INFO 8172 --- [ main] .e.c.s.SpringCloudAlibabaDemoApplication : No active profile set, falling back to default profiles: default
2020-05-30 14:55:05.387 WARN 8172 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'nacos-discovery' contains invalid characters, please migrate to a valid format.
2020-05-30 14:55:06.476 WARN 8172 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'service-registry' contains invalid characters, please migrate to a valid format.
2020-05-30 14:55:07.629 INFO 8172 --- [ main] o.s.cloud.context.scope.GenericScope : BeanFactory id=db345db9-4c93-375e-8a63-45b56aa1da45
2020-05-30 14:55:09.406 INFO 8172 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8081 (http)
2020-05-30 14:55:09.497 INFO 8172 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-05-30 14:55:09.501 INFO 8172 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.24]
2020-05-30 14:55:10.363 INFO 8172 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-05-30 14:55:10.364 INFO 8172 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 8041 ms
2020-05-30 14:55:15.913 WARN 8172 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources.
2020-05-30 14:55:15.914 INFO 8172 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2020-05-30 14:55:15.929 WARN 8172 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources.
2020-05-30 14:55:15.930 INFO 8172 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2020-05-30 14:55:16.625 INFO 8172 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-05-30 14:55:18.011 INFO 8172 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService
2020-05-30 14:55:21.536 INFO 8172 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 20 endpoint(s) beneath base path '/actuator'
2020-05-30 14:55:22.186 INFO 8172 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path ''
2020-05-30 14:55:23.383 INFO 8172 --- [ main] c.a.c.n.registry.NacosServiceRegistry : nacos registry, spring-cloud-alibaba-demo 192.168.163.1:8081 register finished
2020-05-30 14:55:25.813 INFO 8172 --- [ main] .e.c.s.SpringCloudAlibabaDemoApplication : Started SpringCloudAlibabaDemoApplication in 42.497 seconds (JVM running for 52.622)
2020-05-30 14:55:27.706 INFO 8172 --- [)-192.168.145.1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-05-30 14:55:27.707 INFO 8172 --- [)-192.168.145.1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-05-30 14:55:27.733 INFO 8172 --- [)-192.168.145.1] o.s.web.servlet.DispatcherServlet : Completed initialization in 25 ms
访问网址:http://localhost:8081/echo/spring-cloud-alibaba-demo
返回如下字符串:Hello Nacos Discovery spring-cloud-alibaba-demo
查看nacos界面
查看详情