【java面经】微服务架构速记

目录

由来

是什么

本质

和单体架构的区别

适用项目

开发框架

[Spring Cloud(流行)](#Spring Cloud(流行))

Dubbo

Dropwizard

Consul,etcd&etc(微服务的模块)

由来

独立系统,SOA服务切换时间长,成本高,不够稳定

是什么

  • 一套小服务来开发单个应用,每个服务运行在自己的进程中,使用HTTP API等轻量级机制通信
  • 服务可以使用不同编程语言实现,不同数据存储技术
  • 最低限度集中管理

本质

  • 目的是有效拆分应用,实现敏捷开发和部署
  • inter-operate:定义好系统边界和接口,系统内部耦合和沟通,最终呈现出统一风格界面,权限管理,安全策略等等

和单体架构的区别

  • 单体架构代码量大,维护困难;微服务每个模块相当于单独项目,代码明显减少,好解决问题
  • 单体架构所有模块使用同一数据库,存储方式单一(岂不是不安全?);微服务架构每个模块可以有自己的存储方式(redis,mysql等等),数据库也是单个模块对应的数据库
  • 单体架构所有模块开发使用的技术一样;微服务开发模式更灵魂,可以有不同的开发技术

适用项目

按照业务本身独立性来划分,如果是非常底层的(操作系统内核,存储系统,网络系统,数据库系统等)就不要使用微服务,否则造成集成工作量急剧上升

开发框架

Spring Cloud(流行)

http://projects.spring.io/spring-cloud

Dubbo

http://dubbo.io

Dropwizard

http://www.dropwizard.io (关注单个微服务的开发)

Consul,etcd&etc(微服务的模块)
相关推荐
用户3294190042163 分钟前
Java接入DeepSeek实现流式、联网、知识库以及多轮问答
java
中昊芯英4 分钟前
DeepSeek-V3.2的DSA稀疏注意力技术:在TPU平台上的效能革命与适配实践
架构
Knight_AL7 分钟前
浅拷贝与深拷贝详解:概念、代码示例与后端应用场景
android·java·开发语言
DolphinScheduler社区9 分钟前
# 3.1.8<3.2.0<3.3.1,Apache DolphinScheduler集群升级避坑指南
java·大数据·开源·apache·任务调度·海豚调度
枫叶丹49 分钟前
【Qt开发】输入类控件(六)-> QDial
开发语言·qt
阿拉斯加大闸蟹24 分钟前
[SIGCOMM‘25] Revisiting RDMA Reliability for Lossy Fabrics
网络·架构
思考的笛卡尔29 分钟前
Go语言实战:高并发服务器设计与实现
服务器·开发语言·golang
Yeats_Liao32 分钟前
遗留系统微服务改造(二):数据迁移实战攻略与一致性保证
微服务·云原生·架构
野蛮人6号33 分钟前
黑马微服务P3快速入门入门案例无法跑通解决方案,本文解决了数据库连接和java版本不匹配的问题
微服务·云原生·架构
Le1Yu33 分钟前
黑马商城微服务项目准备工作并了解什么是微服务、SpringCloud
java·微服务·架构