5 Apollo应用于分布式系统
在微服务架构模式下,项目往往会切分成多个微服务,下面将以万信金融P2P项目为例演示如何在项目中使用。
5.1 项目场景介绍
5.1.1 项目概述
万信金融是一款面向互联网大众提供的理财服务和个人消费信贷服务的金融平台,依托大数据风控技术,为用户提供方便、快捷、安心的P2P金融服务。本项目包括交易平台和业务支撑两个部分,交易平台主要实现理财服务.
包括:借钱、出借等模块,业务支撑包括:标的管理、对账管理、风控管理等模块。项目采用先进的互联网技术进行研发,保证了P2P双方交易的安全性、快捷性及稳定性。
5.1.2 各微服务介绍
本章节仅仅是为了演示配置中心,所以摘取了部分微服务,如下:
用户中心服务(consumer-service):为借款人和投资人提供用户账户管理服务,包括:注册、开户、充值、提现等UAA认证服务(uaa-service):为用户中心的用户提供认证服务
统一账户服务(account-service):对借款人和投资人的登录平台账号进行管理,包括:注册账号、账号权限管理等交易中心(transaction-service):负责P2P平台用户发标和投标功能
5.2 Spring Boot应用集成
下面以集成统一账户服务(account-service)为例
5.2.1 导入工程
参考account-service、transaction-service、uaa-service、consumer-service工程,手动创建这几个微服务。
每个工程必须添加依赖:
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo‐client</artifactId>
<version>1.1.0</version>
</dependency>
下边是account-service依赖,其它工程参考“资料”下的“微服务”。
<?xml version="1.0" encoding="UTF‐8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven‐4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!‐‐ lookup parent from repository ‐‐>
</parent>
<groupId>cn.itcast</groupId>
<artifactId>account‐service</artifactId>
<version>0.0.1‐SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐log4j2</artifactId>
</dependency>