簡單幾步,建立spring-boot微服務提供者。假設要建立一個user服務:
1、引入依賴(pom.xml):
<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><!-- 其他依賴略。。。 --></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Camden.SR3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
2、設定檔(application.yml)中指定註冊中心: 假設有三個註冊中心組成高可用的叢集:
eureka: client: serviceUrl: defaultZone: http://192.168.0.9:58000/eureka/,http://192.168.0.10:58000/eureka/,http://192.168.0.18:58000/eureka/ instance: preferIpAddress: true
3、項目配置啟用Controller中對服務資訊的輸出(通過@EnableDiscoveryClient註解 ):
@EnableDiscoveryClient@SpringBootApplicationpublic class UserApplication {public static void main(String[] args) {SpringApplication.run(UserApplication.class, args);}}
4、通過建立Controller提供服務:
@RestControllerpublic class UserController {protected final Logger logger = LoggerFactory.getLogger(getClass());@AutowiredUserService userService;/** * 根據使用者id擷取電話號碼 * @param userId * @return 電話號碼 */@RequestMapping(value = "/getPhoneNoByUserId", method = RequestMethod.GET)public String getPhoneNoByUserId(@RequestParam Integer userId) {logger.debug("getPhoneNoByUserId received. userId={}", userId);return userService.getPhoneNoByUserId(userId);}}
//Service和其他代碼略。。。
5、啟動,檢查註冊中心中是否可以看到user服務: 訪問三個註冊中心的任意一個: http://192.168.0.9:58000/