IDea启动了五个SpringCloud微服务,同时Webstorm启动了一个前端工程,然后IDEA就挂了。怎么解决这个问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDea启动了五个SpringCloud微服务,同时Webstorm启动了一个前端工程,然后IDEA就挂了。怎么解决这个问题?相关的知识,希望对你有一定的参考价值。

参考技术A 升级内存到32G试试。

springCloud微服务入门

目录

前言

springCloud是一个微服务框架集。
eureka来实现zookeeper;

Eureka

注册中心server

新建

选择版本: 1.5.17
cloud dicovery ---  eureka server

配置

  • 启动类
# 启动类添加注解:
@EnableEurekaServer
  • 简单配置
# application.yml
server:
  port: 8761
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka/

查看127.0.0.1:8761/

  • 集群配置
# application.yml
spring:
  application:
    name: server中心
  profiles:
    active: server1

# application-server1.yml
server:
  port: 8761
eureka:
  instance:
    hostname: server1
  client:
    service-url:
      defaultZone: http://127.0.0.1:8762/eureka/ # 后面可以添加更多地址,用逗号分隔

# application-server2.yml
server:
  port: 8762
eureka:
  instance:
    hostname: server2
  client:
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka/

启动参数

--spring.profiles.active=prod

服务提供者service

新建

和注册中心一样

配置

  • 启动类
和注册中心一样
  • 简单配置
spring:
  application:
    name: service01
server:
  port: 8081

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

服务消费者controller

新建

和之前一样

配置

  • 启动类
# 添加注解
@EnableDiscoveryClient

# 添加属性
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
    return new RestTemplate();
}
  • 配置
spring:
  application:
    name: controller01
server:
  port: 8764
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/ 

使用

@RestController
public class TestController {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("test")
    public String test() {
        String forObject = restTemplate.getForObject("http://service01/test", String.class);
        return forObject;
    }
}

Feign负载均衡

  • 引用
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
  • 启动类
@EnableFeignClients
@EnableDiscoveryClient
  • service层接口
@FeignClient(value = "springcloud-server")
public interface TestService {
 
   @RequestMapping("/test")
   public String test();
 
}
  • controller调用
@RestController
public class TestController {
 
   @Autowired
   private  TestService testService;
 
   @RequestMapping(value = "/test",method = RequestMethod.GET)
   public String test(){
      return  testService.test();
   }
}

以上是关于IDea启动了五个SpringCloud微服务,同时Webstorm启动了一个前端工程,然后IDEA就挂了。怎么解决这个问题?的主要内容,如果未能解决你的问题,请参考以下文章

微服务项目远程debug配置--idea版本

spring cloud导入一个新的spring boot项目作为spring cloud的一个子模块微服务,怎么做/或者 每次导入一个新的spring boot项目,IDEA不识别子module(代

springcloud-IDEA克隆微服务,无需建立两个重复的微服务,节约时间(适合学习阶段)

微服务-SpringCloud学习系列:注册中心Consul

SpringCloud Nacos配置管理 -- 配置热更新多环境配置共享IDEA按不同环境启动的小技巧

生产级基于SpringCloud微服务架构性能优化实战,建议收藏