微服务调用事项;分析Java微服务优点

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 微服务调用事项微服务=配置+流程+组件微服务调用:

微服务调用事项

微服务=配置+流程+组件

微服务调用:

1、不要用api去调用api,比如report的实体类去继承collect实体类,容易导致有些接口情况出现report—>collect,collect—>report,从而耦合性不好。

用server去调用api

总结起来是collect-server---->report-api √

report-server—>collect-api √

report-api—>collect-api ×

collect-server—>merchant-api √ 推荐

2、底层如merchant是用来被别人调用的,merchant商户服务相当于用户概念,所以用report—>merchant、collect---->merchant, 但是merchant不要去调用其他服务

3、并且调用之间修改版本要同步修改,如collect-api修改了,那么调用他的report-server也要同步修改过来。

4、集群打通问题

admin、merchat两个服务是同一个集群,它们显然是可以互相打通互相调用的。而merchant和collect、report服务手动去打通,使得collect、report可以调用merchant,但不意味着admin可以调用collect、report,这个要手动去打通。因为collect、report是另一个集群。除非集群和集群互相打通,不然还是要一个一个去打通,collect、report分开来去打通。


分析Java微服务优点

微服务最直接解决什么问题?

高可用,高并发(是问题),高性能 “三高”

主要网络可能会不可靠的,所有业务都依赖一个服务压力太大了,所以有微服务


服务与服务之间通过api网关去访问


同步通信与异步通信


SpringCloud和dubbo是微服务的两套不同方案,核心目标还是微服务架构解决问题


微服务最明显优点的就是模块化


lego处理前端要调用的路径


同时它自己可以有api调用,可以用来处理一些用户token,登录角色,日志等


同时lego调用每个模块的服务(Controller)请求的实体类命名可以为XXXReq,XXXRequest


private final IJoinBrandHotRemoteService joinBrandHotRemoteService;


而每个服务暴露出接口api给lego去调用


而每个服务下面专心去写业务

包括常用的各个层controller—>service—>mapper或dao---->注解查询sql或用xml文件 也就是增删改查 这里的实体类一般和数据库保持一致


相关文章
|
28天前
|
存储 Java 开发者
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
本文详细介绍了 Java 中 `toString()` 方法的重写技巧及其重要
49 10
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
|
28天前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
38 5
|
28天前
|
人工智能 自然语言处理 搜索推荐
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
51 5
|
28天前
|
SQL Java 数据库连接
【潜意识Java】Java中JDBC过时方法的替代方案以及JDBC为什么过时详细分析
本文介绍了JDBC中一些常见过时方法及其替代方案。
41 5
|
28天前
|
Java 数据库连接 数据库
【潜意识Java】深度分析黑马项目《苍穹外卖》在Java学习中的重要性
《苍穹外卖》项目对Java学习至关重要。它涵盖了用户管理、商品查询、订单处理等模块,涉及Spring Boot、MyBatis、Redis等技术栈。
75 4
|
28天前
|
Java 数据库连接 数据库
【潜意识Java】使用 Ruoyi 框架开发企业级应用,从零开始的实践指南和分析问题
本文介绍了基于Spring Boot的开源企业级框架Ruoyi,涵盖环境搭建、项目初始化及用户管理模块的创建。
121 4
|
28天前
|
SQL Java API
|
28天前
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
60 1
|
1月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
2月前
|
缓存 算法 搜索推荐
Java中的算法优化与复杂度分析
在Java开发中,理解和优化算法的时间复杂度和空间复杂度是提升程序性能的关键。通过合理选择数据结构、避免重复计算、应用分治法等策略,可以显著提高算法效率。在实际开发中,应该根据具体需求和场景,选择合适的优化方法,从而编写出高效、可靠的代码。
49 6