进入新公司接触到了源码项目:pig4cloud,目前已经到了v3版本,趁参与项目中记录一下
源码下载:https://gitee.com/log4j/pig
项目组件:nacos(服务注册与发现,配置中心)、gateway (业务网关)、loadBalancer(负载均衡)、Sentinel (限流、降级和熔断)、openfeign(服务调用)
项目分了多个服务,其中固定四个服务分别是:
pig-register,pig-gateway,pig-auth,pig-upms ,pig-common
这也是项目启动顺序
本次将针对四个服务做说明,了解背景框架的可参考:https://www.yuque.com/pig4cloud/pig/shb0ye
一、pig-register
此服务主要是模块启动配置类,以及nacos服务相关接口。
Nacos 承担整个 Spring Cloud 的服务发现、配置管理部分的实现。 是整个开发过程中强依赖,启动微服务业务要去检查 Nacos Server 是否已经启动,解压安装的方式变的非常不便
1、启动类
/**
* @author nacos
* <p>
* nacos console 源码运行,方便开发 生产从官网下载zip最新版集群配置运行
*/
@Slf4j
@EnableScheduling
@SpringBootApplication
public class PigNacosApplication {
public static void main(String[] args) {
if (initEnv()) {
SpringApplication.run(PigNacosApplication.class, args);
}
}
/**
* 初始化运行环境
*/
private static boolean initEnv() {
System.setProperty(ConfigConstants.STANDALONE_MODE, "true");
System.setProperty(ConfigConstants.AUTH_ENABLED, "false");
System.setProperty(ConfigConstants.LOG_BASEDIR, "logs");
System.setProperty(ConfigConstants.LOG_ENABLED, "false");
System.setProperty("server.port","9527");
return true;
}
}
看此启动类运行即可启动,并且会初始化运行环境,包括
String AUTH_ENABLED = “nacos.core.auth.enabled” //是否开启认证
String LOG_BASEDIR = “server.tomcat.basedir” //日