初识微服务

简介: 初识微服务

一、单体结构 VS 分布式结构

单体结构:将所有功能集中在一个项目开发,打包部署。

优点:架构简单,部署成本低;

缺点:耦合度较高。

分布式结构:根据业务功能的具体功能对系统进行拆分,每个业务模块作为独立的项目开发,称为一个服务。

优点:耦合度低,便于业务拓展。

缺点:架构复杂,运维、监控以及部署的难度大。

二、微服务简介

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

微服务架构特征

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发;
  • 面向服务:微服务对外暴露业务接口;
  • 自治:团队独立、技术独立、数据独立、部署独立;
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。

微服务注意点

  1. 微服务需要根据业务模块拆分,做到单一职责,不要重复开发相同业务
  2. 微服务可以将业务暴露为接口,供其它微服务使用
  3. 不同微服务都应该有自己独立的数据库

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

服务调用关系:

服务提供者:暴露接口给其它微服务调用

服务消费者:调用其它微服务提供的接口

提供者与消费者角色其实是相对的,一个服务可以同时是服务提供者和服务消费者

目录
相关文章
|
2月前
|
消息中间件 Dubbo Java
微服务
【10月更文挑战第1天】微服务是一种将大型应用分解为小型、独立服务的设计理念,每个服务负责单一业务功能,独立部署、运行,通过轻量级通信机制(如HTTP API或RPC)互联。相比单体应用,微服务提高了部署效率、团队协作效能和系统可用性,但也增加了系统复杂性、通信开销和数据一致性管理的难度。实现微服务架构涉及服务拆分、服务发现、配置管理、服务治理、数据一致性、安全性、监控与日志、持续集成与部署等多个方面。
44 4
|
6月前
|
存储 分布式计算 Dubbo
微服务是什么?
微服务是小型独立的服务,每个服务聚焦单一功能,代码量少,复杂度低。与单体架构相比,微服务强调团队小规模,服务独立开发、部署,数据存储方式和部署方式也不同。微服务架构允许使用不同语言和工具,具有良好的可扩展性和与Docker的兼容性。常见的Java微服务框架有Spring Cloud、Spark和Dubbo。
|
7月前
|
XML JSON API
微服务是什么
微服务是什么
62 0
|
7月前
|
Dubbo Java 应用服务中间件
微服务知识
微服务知识
|
缓存 监控 Kubernetes
初识微服务
初识微服务
114 0
|
存储 缓存 SpringCloudAlibaba
什么是微服务
自2014年起,微服务架构由Martin Fowler、Adrain Cockcroft、Neal Ford等人接力进行介绍、完善、演进、实践后,一直维持着较高的热度直到现在,内容如下:
|
负载均衡 前端开发 Java
浅析-微服务2
Zuul中默认就已经集成了Ribbon负载均衡和Hystix熔断机制。但是所有的超时策略都是走的默认值,比如熔断超时时间只有1S,很容易就触发了。
浅析-微服务2
|
存储 JSON 编解码
关于微服务,这些你都了解吗-微服务介绍
关于微服务,这些你都了解吗-微服务介绍
221 0
|
负载均衡 Dubbo 网络协议
|
存储 Java 应用服务中间件
对微服务的简单思考
对微服务的简单思考