技术标签: java eureka springCloud
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
只有Eureka是服务端,其他的都是客户端。
springboot项目的启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* @author The Phoenix(不死人)
* @version 1.0
* @date 2020/3/20
*/
@SpringBootApplication //spring boot
@EnableEurekaServer //注册中心服务
public class JKEurekaApplication {
public static void main(String[] args) {
SpringApplication.run( JKEurekaApplication.class , args );
}
}
里边eureka的配置只是临时的,不是最优,这个需要经过大佬的测试配置,这个以后再优化,只是能跑起来。
#eureka端口号
server:
port: 10086
#eureka服务的名字
spring:
application:
name: jkeureka
#eureka服务
eureka:
server:
enable-self-preservation: false # Eureka自我保护机制,true打开/false禁用,默认打开状态,建议生产环境打开此配置。
eviction-interval-timer-in-ms: 5000 # 修改检查失效服务的时间
client:
fetch-registry: false # 定期的更新客户端的服务清单,以保证服务访问的正确性
register-with-eureka: false # 是否将自己注册为服务
service-url:
defaultZone: http://127.0.0.1:${
server.port}/eureka # eureka服务的开放地址
提供反不需要导入feign坐标
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient //eureka客户端
public class MemberApplication {
public static void main(String[] args) {
SpringApplication.run(MemberApplication.class, args);
}
}
#端口号
server:
port: 7070
spring:
application:
name: memberservice #服务名
datasource: #数据源配置
url: jdbc:mysql://127.0.0.1:3306/jk_source?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
username: root
password: 12
druid: #druid连接池配置
initial-size: 5
min-idle: 5
max-active: 20
max-wait: 1000
test-on-borrow: true
#配置eureka(注册中心)
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka
instance:
prefer-ip-address: true
ip-address: 127.0.0.1
instance-id: ${
eureka.instance.ip-address}.${
server.port}
lease-renewal-interval-in-seconds: 3
lease-expiration-duration-in-seconds: 10
import com.czxy.jk.BaseResult;
import com.czxy.jk.common.Page;
import com.czxy.jk.member.MemberArchivesApi;
import com.czxy.jk.member.MemberProfile;
import com.czxy.jk.service.MemberArchivesService;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.UUID;
@RestController
@RequestMapping("/member")
public class MemberArchivesController {
//服务调用方 会根据 远程调用得到对应的controller
@PostMapping("/loginPhon")
public MemberProfile loginPhon(@RequestBody MemberProfile memberProfile) {
return memberArchivesService.loginPhon(memberProfile);
}
}
必须要有的
<!--eureka客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--feign远程调用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
@SpringBootApplication //springBoot配置注解
@EnableEurekaClient // 开启eureka客户端
@EnableFeignClients // 开启远程调用
public class LoginApplication {
public static void main(String[] args) {
SpringApplication.run(LoginApplication.class , args);
}
}
#端口号
server:
port: 9090
spring:
application:
name: loginservice #服务名
datasource: #数据源配置
url: jdbc:mysql://127.0.0.1:3306/自己的数据库?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
username: root
password: 12
druid: #druid连接池配置
initial-size: 5
min-idle: 5
max-active: 20
max-wait: 1000
test-on-borrow: true
#配置eureka(注册中心) 不是最优 谅解 以后会更新
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka
instance:
prefer-ip-address: true
ip-address: 127.0.0.1
instance-id: ${
eureka.instance.ip-address}.${
server.port}
lease-renewal-interval-in-seconds: 3
lease-expiration-duration-in-seconds: 10
package com.czxy.jk.service;
import com.jk.dao.LoginMapper;
import com.jk.feign.FeignMember;
import com.jk.login.Login;
import com.jk.member.MemberProfile;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class LoginService {
@Resource
private FeignMember feignMember;
public Login loginPhon(Login login) {
MemberProfile memberProfile = new MemberProfile();
memberProfile.setPhone(login.getPhone());
// 远程调用
MemberProfile m = feignMember.loginPhon(memberProfile);
Login l = new Login();
l.setUsername(m.getName());
return l;
}
}
package com.jk.feign;
import com.jk.member.MemberProfile;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* value 是服务提供方的服务名
* path 服务提供方的 @RequestMapping("/member") 这个是作用在方法上的
*
*
*/
@FeignClient(value="memberservice",path = "/member")
public interface FeignMember {
// 要和服务提供方 一么一样 建议复制方法 在修改成抽象方法
@PostMapping("/loginPhon")
public MemberProfile loginPhon(@RequestBody MemberProfile memberProfile);
}
提供方的 @RequestMapping("/member") 这个是作用在方法上的
*
*
*/
@FeignClient(value=“memberservice”,path = “/member”)
public interface FeignMember {
// 要和服务提供方 一么一样 建议复制方法 在修改成抽象方法
@PostMapping("/loginPhon")
public MemberProfile loginPhon(@RequestBody MemberProfile memberProfile);
}
# 关系

/etc/inittab文件中的格式id:runlevels:action:processid: 是标识名,可以任意起名,4个字符以内,要注意的是标识名不能重复,它是唯一的。runlevels: 表示这一行适用于运行那些级别(如上所示的6个级别);另外sysinit、boot、bootwait这三个进程会忽略这个设置值。此项可以多选,比如要运行1,2,3个级别,就写成123action: ..._嵌入式 linux /etc/inittab
centos7降低内核版本rpm_centos回退内核
B - CF674F Bears and JuiceSol最后我们得到的信息是:每头熊有没有睡觉,以及如果睡觉了是在哪一天睡的。我们可能得到的信息的种数显然是桶数量的一个上界。假设总共有ddd天,信息种数就是:∑i=0min{p,n−1}di(ni)\sum_{i=0}^{\min\{p,n-1\}} d^i {n\choose i}i=0∑min{p,n−1}di(in)其中i...
public static Intent getAppOpenIntentByPackageName(Context context,String packageName){ //Activity完整名 String mainAct = null; //根据包名寻找 PackageManager pkgMag = context.getPackageManager..._getappopenintentbypackagename
目录1. 介绍2. docker-compose的下载和卸载3. compose使用的步骤4. docker-compose常用命令5. docker-compose.yml编写6. 使用docker compose命令进行一键启动和停止1. 介绍docker-compose主要负责对单服务器上的多个Docker容器进行编排一般一个容器中只运行一个服务。Compose允许用户通过一个单独的docker-compose.yml模板文件,来定义一组相关联的容器为一个项目(project)。可以同时启动、停_docker-compose容器编排的使用
BOOL CreateFont(int nHeight,int nWidth,int nEscapenment,intnOrientation,int nWeight,BYTE bItalic,BYTE bUnderline,BYTE cStrikeOut,BYTE nCharset,BYTE nOutPrecision,BYTE nClipPrecis_如何清空cfont
mysql中的设置varchar长度问题如果某一项中设置的是varchar(50)那么对英文当然是50那么对中文呢utf-8的中文占3个字节那么,这个varchar(50)是不是只能存16个汉字了?mysql varchar(50) 不管中文 还是英文 都是存50个的MySQL5的文档,其中对varchar字段类型这样描述:varchar(m) 变长_varchar长度短
什么是springcoud的熔断机制,熔断机制是对分布式架构项目的一种起到保护作用的手段或者机制,就像继电器里面的保险丝,到达某个临界点就会自动熔断保险丝,以达到保护电路的作用,切换到SpringCloud里面也是同样的道理,是从可用性着想,为防止系统的整体缓慢甚至崩溃,采用的技术手段,也就是熔断机制。springcloud的熔断机制触发一般是因为某个服务的故障所引起,及时的进行熔断,避免了雪崩效应的出现。..._spring cloud自动熔断是什么意思
Java中Socket的用法_java中socket的用法
一、OKHTTP简介OKHttp是一个处理网络请求的开源项目OKHttp GitHub地址OKHttp优点支持HTTP2/SPDY(SPDY是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。) socket自动选择最好路线,并支持自动重连,拥有自动维护的socket连接池,减少握手次数,减少了请求延迟,共享Socket,减少对服务器...
转载文章一:https://blog.csdn.net/bqwyq/article/details/97760278还记得用 “冰山理论”解释了传统PC的使用成本吗?并且还答应了大家这周要对云桌面与传统PC的成本作具体对比。当然要说到做到啦,现在跟我一起来看看是哪六项吧!1、总的采购成本对比普通PC:单台PC成本4000-4500元,按4500元来算;普通云桌面:所有云配置+云终端硬..._私有云桌面磁盘io
MyBatis详解(一):入门程序目录MyBatis详解(一):入门程序一、对原生态jdbc程序中问题总结1.1、原始jdbc程序步骤:1.2、原生态jdbc程序问题总结二、mybatis框架2.1、mybatis是什么2.2、mybatis框架示意图三、入门程序3.1、jar包3.2、在src下建立log4j.properties文件(file)..._mybatis下面哪个步骤不是编写入门程序的步骤?