Day01

简介: 本文介绍微服务架构的适用场景及技术选型,对比单体与微服务优劣,详解Nacos与Eureka注册中心的心跳机制、服务治理差异,并涵盖常见负载均衡算法及SpringCloud Alibaba常用组件实践。

Day01

每日必会
微服务的好处?一定比单体好吗?

面试官这个不一定,技术还是为业务服务的,简单的业务单体肯定更好,他没有分布式事务、服务雪崩等一系列服务治理的问题,并且部署、维护成本低。微服务更适合一些表模型复杂、业务链路长的场景,这样虽然会带来一些服务治理问题,但是也降低了服务之间的耦合,有利于后续的服务拓展。

微服务你用到了哪些中间件

我的项目用到了Nacos,当做注册和配置中心;远程服务调用OpenFeign;网关GateWay

SPRINGCLOUDGATEWAYZUUL

SPRINGCLOUDALIBABA

SPRINGCLOUDCONFIG,NACOS

EUREKACONSU

SPRINGCLOUD

服务监控和保护

DUBBO-ADNIN,功

SPRINGCLOUDGIATEWAY

SPRINGCLOUACONFIG

ZK,REDIS,NACOS

配置中心

SENTINEL

DUBBO

服务网关

IGNHTTP协I

HSTRIX

服务远程调用

功能弱

DUBBO,FEIGRN

DUBBO协议

注册中心

EUEKA

NACOS

ZUL


Nacos注册中心的心跳机制

Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式临时实例心跳不正常会被剔除,非临时实例则不会被剔除

NACOS注册中心细节分

服务消费者

册服务信息

ACOS主动询问

L0CALAOST:8O81

服务列表缓存

USER-SEVICE:

采用心跳监测

注册中心

服务PU11

服务提供者

定时拉取

ACOS

远程调用

非临时实例

临时实例

00


这里也有可能问到Eureka和Nacos的区别,我贴个图有点印象(比较少,了解即可)

EUREKA-CLIENT

心跳续约,每30秒1次

UREKA的作用

USERSERVICE

1OCA1HOST:8082

UREKA-SEVER

服务消费者

USERSERVICE

1OCA1HOST:8080

USER-SERVICE的信息

服务提供者

2)拉取服务

LOCA1HOST:8081

1OCA1HOST:8081

1OCA1HOST:8082

)远程调用

1OCALHOST:8083

注册中心

1)注册服务信息

OCA1HOST:8081

1OCA1HOST:8083

SER一SERVICE

ORDER-SERVICE:

....,3)负载均衡

USER-SERVICE:

USER-SERVICE

ERVICE

8083

8082

ORDER-

8081

8080


Nacos与eureka的共同点
都支持服务注册和服务拉取
都支持服务提供者心跳方式做健康检测
Nacos与Eureka的区别
Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
临时实例心跳不正常会被剔除,非临时实例则不会被剔除
Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

常见的负载均衡算法

有轮询、加权轮询、权重、响应时间、随机、区域可用等吧,我们项目中一般都是轮询,它的意思就是当有多台机器的时候,就一个一个轮着来。

理论专项
Java基础
JMM模型
HashMap
线程池核心参数
synchronized

21 人点赞


21

相关文章
|
4月前
|
存储 移动开发 小程序
基于Uniapp的会员卡储值消费系统开发实践
本文介绍如何用Uniapp快速搭建轻量化会员卡储值消费系统,适配餐饮、校园、社区等线下场景。依托跨端能力,一套代码覆盖小程序/H5/App;聚焦自助充消、分级折扣、交易溯源、消息通知四大核心功能,兼顾易用性与低维护成本,并推荐开源项目助力快速落地。
332 1
|
4月前
|
JavaScript Java 数据库
一个基于Spring Boot + Vue的诊所管理系统全栈开发指南
本项目介绍诊所管理系统(门诊系统)的全栈开发方案:采用Spring Boot + Vue.js技术栈,结合MySQL/Redis数据库、RESTful API与HL7/FHIR等医疗标准接口,支持预约挂号、电子病历、处方管理、药房库存、医保对接及多维统计。强调SaaS部署、微服务架构与数据安全合规。
396 0
|
9月前
|
机器学习/深度学习 算法 API
商品价格动态调整接口技术详解
本文详解电商商品价格动态调整接口设计,涵盖RESTful API规范、成本加成与需求弹性算法、Python代码实现及优化策略,结合真实场景,助力构建高效、可扩展的智能定价系统。
|
4月前
|
人工智能 自然语言处理 算法
备案、登记、算法备案之间到底怎么区分
本文系统解析生成式AI三大合规要求:算法备案(针对推荐/排序等常规算法)、深度合成登记(聚焦AI换脸、语音生成等内容真实性)、大模型备案(最严层级,覆盖AI对话、写作、绘图等生成式服务),厘清其适用场景与监管逻辑,助力企业精准合规。
408 0
|
7月前
|
JSON 安全 机器人
钉钉通知
本文介绍如何通过Java代码调用钉钉机器人API实现系统告警消息推送。内容涵盖机器人创建、Webhook配置、Postman测试及Java代码实现,并提供限流策略与关键词安全设置等最佳实践,助力实时监控与异常通知。
|
7月前
|
数据采集 领域建模 数据库
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法构建领域模型,并逐步推导出数据架构中的ER图。采用红色(时标性)、绿色(参与方-物品-地点)、黄色(角色)和蓝色(描述)四色模型,结合风控系统案例,详解从业务流程到实体关系图的建模过程,助力精准梳理数据结构。
 领域模型图(数据架构/ER图)
|
7月前
|
消息中间件 运维 物联网
语音通知
语音通知服务适用于科技公司服务器或物联网设备异常时的告警通知。通过语音电话形式,向处理人播报预设模板内容,支持变量替换实现个性化提醒。需开通语音服务并申请资质、话术、号码及模板,可通过API发起呼叫并查询记录,支持主动查询与消息回执两种结果获取方式,提升运维响应效率。
语音通知
|
7月前
|
安全 Java 应用服务中间件
4.认识SpringSecurity
Spring Security 是 Spring 生态中的安全框架,提供认证、授权及安全防护功能。支持多种认证方式(如表单、OAuth2、JWT等),基于过滤器链实现请求控制,可防御 CSRF 等攻击,保障 Web 应用安全。
|
9月前
|
缓存 运维 文字识别
《大模型驱动的智能文档解析系统:从领域适配到落地优化的全链路开发实践》
本文聚焦大模型在高端装备制造企业智能文档解析系统的落地实践,针对领域术语理解断层、长文档上下文限制、知识提取精准度不足、响应缓慢、微调成本高、稳定性差等核心痛点,提出对应解决方案:构建领域术语知识底座适配行业语境,以语义分块+关联图谱突破长文档解析瓶颈,用多轮校验+规则库保障知识可靠性,通过分层部署+多级缓存优化响应速度,采用增量微调+prompt工程降低成本并提升泛化能力,依托全链路监控+自动化运维保障长期稳定。优化后,术语识别准确率、知识逻辑完整性显著提升,单文档初步解析响应缩至3秒内,故障发生率降至1.2%,印证大模型落地需全链路协同且贴合领域需求。
670 15