springcloud多模块项目的服务模块如何调用其他微服务

时间:2019-02-14 06:23:39

标签: java spring spring-cloud

我有一个多模块Maven-spring项目。以下是结构

ParentService
---web
---service
---mapper

我在网络上有应用程序类 我使用eureka并在Web中编写一些控制器类

@SpringBootApplication()
@MapperScan(basePackages = {xxx})
@Configuration
@EnableScheduling
@EnableEurekaClient
@EnableTransactionManagement(proxyTargetClass = true)
public class FrontApplication extends SpringBootServletInitializer {

现在我想在服务模块中调用另一个微服务

我想要一个简单的方法来调用另一个微服务,如restTemplate.postForObject()或feign,但是服务模块中没有springcloud,我是否必须在服务模块中编写另一个springcloud配置文件和应用程序类?请给我一些建议。

如果我直接在服务模块组件http中调用微服务,那么我将无法扮演eureka的角色,也无法进行负载平衡。

请给我一些建议。 我需要更改项目架构吗?

1 个答案:

答案 0 :(得分:0)

如果将这三个模块(web,service,mapper)作为具有Spring Cloud依赖项的单独的Spring Boot模块会更好。扩展和负载平衡将很容易。