微服务入门篇:技术栈概述,服务演变,服务拆分(远程调用)

目录

1.微服务技术栈

总览图:

分模块学习:

2.服务架构的演变

1.单体架构

将业务的所有功能集中在一个项目中开发,打成一个包部署。
①优点:

架构简单

部署成本低

②缺点:

耦合度高

2.分布式架构:

根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。
优点:

降低服务耦合

有利于服务升级拓展

3.微服务

微服务是一种经过良好架构设计的分布式架构方案,微服务架构特征:

单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发

面向服务:微服务对外暴露业务接口

自治:团队独立、技术独立、数据独立、部署独立

隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

3.微服务技术对比

4.企业需求

5.服务拆分

1.注意事项

1.不同微服务,不要重复开发相同业务

2.微服务数据独立,不要访问其它微服务的数据库

3.微服务可以将自己的业务暴露为接口,供其它微服务调用

2.远程调用

http请求做远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可。
基于RestTemplate发起的HTTP请求实现远程调用的过程如下:

  1. 创建RestTemplate对象:首先,需要创建一个RestTemplate对象来发起HTTP请求。
    可以通过直接实例化RestTemplate类或者使用依赖注入的方式创建RestTemplate对象。
  2. 构造请求URL:根据需要调用的远程API的URL,构造一个完整的请求URL。
    可以使用字符串拼接的方式构造URL,也可以使用UriComponentsBuilder类来构造URL。
  3. 设置请求头:根据需要设置一些请求头参数,例如Content-Type、Authorization等。
    可以使用RestTemplate的header()方法来设置请求头。
  4. 设置请求体:如果需要传递请求体数据,可以使用RestTemplate的postForObject()、postForEntity()等方法来设置请求体。
  5. 发送请求并获取响应:根据具体的需求,选择合适的RestTemplate方法来发送请求并获取响应。例如可以使用getForObject()、getForEntity()、postForObject()、postForEntity()等方法。
  6. 处理响应数据:根据接口返回的数据类型,使用相应的方法来处理返回的响应数据。
    例如可以使用ResponseEntity类来获取响应的状态码、头部信息以及响应体数据。
    需要注意的是,在使用RestTemplate发起HTTP请求时,需要确保引入了相关的依赖,例如Spring Web和Jackson等。

此外,还需考虑异常处理、超时设置、重试机制等。

相关推荐
KaMeidebaby几秒前
卡梅德生物技术快报|Pull Down 实验在 lncRNA - 蛋白互作机制研究中的应用实例解析
大数据·前端·架构·spark·新浪微博
ID_180079054732 分钟前
(淘宝 / 京东)商品评论 API 接口:技术实战案例与架构分析
服务器·数据库·架构
ai产品老杨35 分钟前
基于 Docker 容器化与异构计算的智能安防架构:解耦 GB28181/RTSP 协议与多芯片适配,源码交付如何助力集成商节省 95% 开发成本?
docker·容器·架构
Solis程序员36 分钟前
MongoDB 超全入门到实战:从原理、CRUD到高可用架构
数据库·mongodb·架构
Elastic 中国社区官方博客1 小时前
Kibana 仪表板即代码:在 Elastic 9.4 中用于 Kibana 仪表板的 GitOps、漂移检测与 Terraform
大数据·人工智能·elasticsearch·搜索引擎·云原生·kibana·terraform
zhangfeng11331 小时前
部署/推理大模型的程序架构(推理引擎/框架)及其开源协议
人工智能·语言模型·自然语言处理·架构·开源协议
无心水1 小时前
【Harness:落地实战】18、从“龙虾”到“爱马仕”:Hermes 进化,全自动自进化 Harness 的架构革命
人工智能·架构·openclaw·养龙虾·harness·hermes·honcho
小哈里2 小时前
【K8S】云原生时代的GitOps最佳实践 —— ArgoCD
云原生·kubernetes·云计算·argocd·基础设施
张忠琳2 小时前
【kubernetes v1.21】(kube-apiserver 1)kube-apiserver 核心架构与启动流程超深度分析
云原生·架构·kubernetes
IT策士2 小时前
第 24 篇 k8s之健康检查:探针机制详解
云原生·容器·kubernetes