从 Github 上下载源码方式
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
下载编译后压缩包方式
下载地址:https://github.com/alibaba/nacos/releases
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
启动服务器
Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows
启动命令:
cmd startup.cmd
或者双击startup.cmd运行文件。
nacos控制台界面
http://ip:port/nacos/index.html
默认用户名:nacos
默认密码:nacos
1,父工程pom
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>person.davidgroupId>
<artifactId>springboot-nacos-dubboartifactId>
<packaging>pompackaging>
<version>1.0version>
<modules>
<module>providermodule>
<module>consumermodule>
<module>apimodule>
modules>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-parentartifactId>
<version>2.2.2.RELEASEversion>
parent>
project>
2,api模块
TestApi.class
/**
* @author David
* @className TestApi
* @date 2020/4/7 16:47
*/
public interface TestApi {
String sayHello(String name);
}
3,provider提供者模块
SayHelloProvider.class
import org.apache.dubbo.config.annotation.Service;
import person.david.api.TestApi;
/**
* @author Administrator
* @create 2020/4/7
* @since 1.0.0
*/
@Service
public class SayHelloProvider implements TestApi {
@Override
public String sayHello(String name) {
return "收到提供者返回的消息========>Hello,"+name;
}
}
ProviderStart.class
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author Administrator
* @create 2020/4/7
* @since 1.0.0
*/
@SpringBootApplication
public class ProviderStart {
public static void main(String[] args) {
SpringApplication.run(ProviderStart.class, args);
}
}
application.yml
spring:
application:
name: nacos-provider
dubbo:
scan:
base-packages: person.david.provider
protocol:
name: dubbo
port: 12345
registry:
address: nacos://120.75.70.231:8848
server:
port: 10000
4,consumer消费者模块
SayHelloController.class
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import person.david.api.TestApi;
/**
* @author Administrator
* @create 2020/4/7
* @since 1.0.0
*/
@RestController
@RequestMapping("/nacos")
public class SayHelloController {
@Reference
private TestApi testApi;
@RequestMapping("/sayHello")
public String SayHello(){
return testApi.sayHello("nacos");
}
}
ConsumerStart.class
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author Administrator
* @create 2020/4/7
* @since 1.0.0
*/
@SpringBootApplication
public class ConsumerStart {
public static void main(String[] args) {
SpringApplication.run(ConsumerStart.class, args);
}
}
application.yml
spring:
application:
name: nacos-consumer
dubbo:
registry:
address: nacos://120.75.70.231:8848
username: nacos
password: nacos
server:
port: 10001