api 示例
- interface LoginService {
- SessionInfo login(String username, String password);
- }
-
-
- public class SessionInfo {
- private String sessionId;
- private String username;
- }
service 示例
- @Service
-
- @Primary
-
- public class LoginServiceImpl implements LoginService {
-
- public SessionInfo login(String username, String password) {
-
- // do login
-
- }
-
- }
ServiceComb Endpoint 示例
处事端:
- @RpcSchema(schemaId = “LoginServiceEndpoint”)
- public class LoginServiceEndpoint implements LoginService {
- @Autowired
- private LoginService service;
-
-
- public SessionInfo login(String username, String password) {
- return service.login(username, password);
- }
-
-
- }
客户端:
- @Bean
- public LoginService getLoginService() {
- return Invoker.createProxy(SERVICE_NAME, "LoginServiceEndpoint", LoginService.class);
- }
可能
- @RpcReference(microserviceName=SERVICE_NAME, schemaId=”LoginServiceEndpoint”)
- private LoginService loginService;
HSF Endpoint 示例
处事端:
- @HSFProvider(serviceInterface = LoginService.class,serviceVersion = "1.0.0")
- public class LoginServiceEndpoint implements LoginService {
- @Autowired
- private LoginService service;
-
-
- public SessionInfo login(String username, String password) {
- return service.login(username, password);
- }
-
-
- }
客户端:
- @HSFConsumer
- private LoginService loginService;
从上面的代码示例看,Endpoint 层必要做到尽也许逻辑简朴,实现逻辑所有交给 Service 层,只包括接口声明,可能包括须要的数据布局转换逻辑。上面的方法演示了 RPC 的接口声明,还可以加上 REST 标签(Spring MVC,可能 JAX RS),来支持 REST 接口。
遗留体系的改革计策
大部门公司城市存在现有体系运行于某一个云上,把现有体系推倒重来,举办全新计划,凡是不是一个好主意。遗留体系的改革必要遵循一连迭代,担任性改革的思绪。
以阿里云体系改革为华为云体系为例,将原本基于 HSF 开拓的微处事应用改革为基于 ServcieComb 开拓的微处事应用。
凭证前面的总体思绪,起首必要将原本项目强依靠于 HSF 的代码部门疏散出来,成立下面的目次布局:
- microservice-api:界说微处事的接口。该目次包括接口界说(interface)、数据布局界说(models)。为了支持差异的微处事框架,对付接口界说和数据布局界说会有必然的要求。
- microservice-service:营业逻辑实当代码。
- microservice-endpoint-hsf:宣布为 HSF 的微处事项目。
这个进程相对而言是简朴的,不涉及任何营业逻辑的调解,只是代码目次布局的变革和 POM 依靠相关的调解。调解完成后,可以对现有成果举办简朴自动化验证,担保项目自动化测试用例可以或许通过。调解后的项目成果和遗留体系是同等的,拥有一个始终无损的运行体系,对付成果较量、题目发明都长短常有辅佐的。
项目调解后,就可以增进华为云的项目:
- microservice-endpoint-servicecomb:宣布为 ServiceComb 的微处事项目。
这个项目可以复制 microservice-endpoint-hsf,将 POM 依靠改为 ServiceComb 的内容,并将宣布的接口(Endpoint)调解为 ServiceComb 的宣布方法。
项目调解后,就可以一份代码构建出两个可执行 jar 包,两个 jar 包别离在华为云和阿里云陈设。 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|