Java Spring Cloud 與響應式微服務(二)賬戶服務建立
賬戶服務
新建一個基本的 Spring Boot 工程,命名為
cloud-account。
如果是使用 Spring Initializr 話,引入
Lombok
、
Reactive Web
、
Reactive MongoDB
和
Eureka Discovery
這四個依賴瞭解springcloud架構可以加求求:三五三六二四七二五九
最終 pom.xml 中應有以下依賴座標:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb-reactive</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>io.projectreactor</groupId> <artifactId>reactor-test</artifactId> <scope>test</scope> </dependency>
配置檔案 application.yml
spring: application: name: cloud-account server: port: 8100 eureka: client: service-url: defaultZone:
建立賬戶的實體類,其中
@AllArgsConstructor
、
@NoArgsConstructor
和
@Data
都是 Lombok 提供註解,不瞭解的可以自行學習,這裡不多說了。
@AllArgsConstructor @NoArgsConstructor @Data @Document(collection = "accounts") public class Account { @Id private String id; private String customerId; private Double amount; }
我們使用 Spring Data Reactive。與非響應式 Spring Data 的
CrudReposity
對應的,響應式的 Spring Data 也提供了相應的 Repository 庫:
ReactiveCrudReposity
,我們也可以使用它的子介面
ReactiveMongoRepository
public interface AccountMongoReactiveRepository extends ReactiveCrudRepository<Account, String> { Flux<Account> findByCustomerId(String customerId); }
為賬戶服務建立對應的 Controller,這裡只簡單提供一個查詢客戶的所有賬戶的介面。為了在後面測試負載均衡,這裡加上了呼叫時間戳的列印。
@RequestMapping("/account") @RestController public class AccountController { @Autowired private AccountMongoReactiveRepository repository; @GetMapping("/customer/{customer}") public Flux<Account> findByCustomer(@PathVariable(name = "customer") String customer) { System.out.println("Customer => " + customer + " [ " + LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss.SSS")) + " ]"); return repository.findByCustomerId(customer); } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952307/viewspace-2679179/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java Spring Cloud 與響應式微服務(三)客戶服務建立JavaSpringCloud微服務
- Java Spring Cloud 與響應式微服務(一)服務註冊中心JavaSpringCloud微服務
- spring cloud微服務分散式雲架構(一)-spring cloud 服務註冊與發現SpringCloud微服務分散式架構
- Spring Cloud微服務架構—服務註冊與發現SpringCloud微服務架構
- spring微服務實戰(二):使用Spring Boot建立微服務微服務Spring Boot
- spring cloud微服務分散式雲架構(二)-服務消費者(rest+ribbon)SpringCloud微服務分散式架構REST
- spring cloud微服務分散式雲架構--服務註冊(consul)SpringCloud微服務分散式架構
- Spring Cloud構建微服務架構-spring cloud服務監控中心SpringCloud微服務架構
- [譯] JWT 與 Spring Cloud 微服務JWTSpringCloud微服務
- spring cloud微服務分散式雲架構-服務消費者FeignSpringCloud微服務分散式架構
- Spring Cloud分散式微服務雲架構服務元件SpringCloud分散式微服務架構元件
- 部署Azure Spring Cloud微服務應用SpringCloud微服務
- 微服務整合Spring Cloud Alibaba Seata (二) 客戶端連線微服務SpringCloud客戶端
- 二、Spring Cloud 之旅 -- Eureka 微服務的釋出與呼叫SpringCloud微服務
- (十四)spring cloud微服務分散式雲架構-服務註冊與發現(Eureka、Consul)SpringCloud微服務分散式架構
- Spring Cloud Spring Boot mybatis 企業分散式微服務雲(二)服務註冊與發現(Consul)CloudSpring BootMyBatis分散式微服務
- spring cloud微服務分散式雲架構Spring Cloud ZuulSpringCloud微服務分散式架構Zuul
- spring cloud微服務分散式雲架構-Spring Cloud BusSpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構(三)-服務消費者(Feign)SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-服務閘道器過濾器SpringCloud微服務分散式架構過濾器
- java版電子商務spring cloud分散式微服務-大話Spring CloudJavaSpringCloud分散式微服務
- Spring Cloud構建微服務架構-服務閘道器SpringCloud微服務架構
- Spring Cloud構建微服務架構-Hystrix服務降級SpringCloud微服務架構
- 基於Spring Cloud微服務叢集的服務治理思考SpringCloud微服務
- 微服務整合Spring Cloud Alibaba Seata(一)Seata服務搭建微服務SpringCloud
- Spring Cloud微服務分散式雲架構SpringCloud微服務分散式架構
- java版b2b2c社交電商spring cloud分散式微服務-服務提供與呼叫JavaSpringCloud分散式微服務
- Spring Cloud教程(二)應用程式上下文服務SpringCloud
- Java架構-(一)spring cloud微服務分散式雲架構 - Spring Cloud簡介Java架構SpringCloud微服務分散式
- 使用Java和Spring WebFlux構建響應式微服務JavaSpringWebUX微服務
- spring cloud微服務分散式雲架構 - Spring Cloud簡介SpringCloud微服務分散式架構
- 學習Spring Cloud與微服務之路三SpringCloud微服務
- Java後端微服務架構下的服務依賴注入:Spring Cloud ContextJava後端微服務架構依賴注入SpringCloudContext
- Spring Cloud構建微服務架構服務消費RibbonSpringCloud微服務架構
- Spring Cloud構建微服務架構—服務消費(Feign)SpringCloud微服務架構
- Spring Cloud構建微服務架構服務消費-RibbonSpringCloud微服務架構
- Spring Cloud構建微服務架構—服務消費FeignSpringCloud微服務架構
- Spring Cloud構建微服務架構—服務消費RibbonSpringCloud微服務架構