Spring Cloud Zuul服务网关

Spring Cloud Zuul服务网关 在微服务的架构中,服务网关就是一个介于客户端与服务端之间的中间层。在这种情况下,客户端只需要跟服务网关交互,无需调用具体的微服务接口。这样的好处在于,客户端可以降低复杂性;对于需要认证的服务,只需要在服务网关配置即可;同样也方便后期微服务的变更和重构,即微服务接口变更只需在服务网关调整配置即可,无需更改客户端代码。 Zuul是一款由Netflix开发的微服务网...

read more..

Spring Cloud Feign 声明式服务调用

Spring Cloud Feign 声明式服务调用 在微服务的架构中,服务间通常会形成相互依赖的关系,比如现在有三个微服务节点:A,B和C,B为A的消费者,C为B的消费者。假如由于网络波动或者A服务自身故障,导致B调用A服务的线程被挂起进入长时间的等待。在高并发的情况下可能导致B的资源被耗竭随之崩溃,从而导致C服务也不可用。这种连环式的雪崩效应在微服务中较为常见,为了解决这个问题,服务熔断技术应运而出。...

read more..

Spring Cloud Eureka注册中心

Spring Cloud Eureka注册中心 eureka和zookeeper注册中心的区别 分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。在此Zookeeper保证的是CP, 而Eureka则是AP。 Zookeeper保证CP 当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的注册信息,但不能接受服务直接down掉不可用。也就是说,服...

read more..

Java定时器Timer

Java定时器Timer public static void main(String[] args) {    // 5秒之后 每1秒执行一次    Timer timer1 = new Timer();    timer1.schedule(new TimerTask() {        @Override        public void run() {            System.out.println("hello11111");       &nbs...

read more..

多线程实际开发中的使用

场景一:线程1执行完再执行线程2 @Testpublic void test4() {    try {        Runnable runnable = () -> {            try {                System.out.println();                for (int i = 0; i < 10; i++) {         &...

read more..