微服务单元模块创建步骤: create moudles pom yml 主程序 业务类
热部署devtools调试很好用,生产就关掉。
RestTemplate restTemplate.postForObject(url+/***/***,param,result.class)
JDBCTemplate
RedisTemplate
Euraka:服务治理,服务注册与发现
Eureka单机构建:Eureka服务搭建,provider注册进Eureka,Eureka服务器@EnableEurekaServer,业务微服务@EnableEurekaClient,修改pom,spring-cloud-starter-netflix-eureka-client,spring-cloud-starter-netflix-eureka-server,EurekaServer和EurekaClient项目引入相对应的依赖组件,配置yml
Eureka集群搭建:Eureka服务器配置,互相注册,其中一台服务器有所有其他Eureka服务器的信息。修改yml文件中的defaultzone属性。服务provider提供者:修改配置文件defaultzone,将集群中的每一台eureka服务信息加入其中,以逗号分隔
业务微服务集群搭建:consumer调用者要启用@LoadBalanced 加在getRestTemplate获取resetTemplate对象上,如果不加这个注解consumer不知道调用对外提供服务集群中具体的哪一台服务进行业务逻辑的处理
instance:
instance-id:xxx #修改主机名字
prefer-id-address:true #访问路径可以显示ip地址
Eureka默认的自我保护机制:AP
EurekaServer修改自我保护机制:server:
enable-self-preservation:false #关闭自我保护机制
evication-interval-timer-in-ms:5000 #触发时间
EurekaClint进行测试可以修改向server发送的心跳时间间隔: instance:
lease-renewal-interval-in-second:1
lease-expiration-duration-in-seconds:2
zk:cp
<artifactId>spring-cloud-starter-zookeeper-discovery</artifackId>,注意java程序的zk版本和linux服务器上的zk版本是否一致。zkServer直接部署到linux服务器上,Eureka是创建了一java项目之后部署linux上
consul:cp
<artifactId>spring-cloud-starter-consul-discovery</artifackId>
To be continued