随笔分类 - SpringCloud
Java的微服务框架
微服务是一种架构风格而不是框架
Google远程过程调用框架-gRPC
摘要:前言 特别是在微服务架构中 gRPC用于内部服务间通信 Gin用于对外提供RESTful API。 单体架构弊端 一旦某个服务宕机,会引起整个应用不可用,隔离性差 只能整体应用进行伸缩,浪费服务器资源,可伸缩性差 代码耦合在一起,可维护性差 微服务架构 解决了单体架构的弊端 微服务架构同时引入了新的
阅读全文
微服务之统一定时任务调度中心(xxl-job)
摘要:前言 在分布式架构中项目部署在多台不同的服务器上,每台服务器都有自己的crontab任务很容易造成任务执行冲突且不易于定时任务的统一管理; 此时微服务中就需要1个定时任务任务调度中心,对微服务架构中每1台服务器里的定时任务,进行集中管理,统一定时任务的执行频率; 一、xxl-job简介 xxl-jo
阅读全文
微服务之分布式事务解决方案(Seata)
摘要:前言 在分布式的微服务架构中,鉴于服务单一职责性,各个微服务都分布在不同的服务器节点,且每1个微服务是独立的; 在后端每个微服务都是分散和独立的,可能使用不同编程语言,使用不同的数据库,通过RPC调用完成前端用户发送的请求(任务); 假设1个用户在1个分布式微服务架构的电商网站购物,购买了1件商品点
阅读全文
微服务之微服务保护(Sentinal)
摘要:前言 Sentinel 是面向分布式服务架构的高可用微服务防护组件; Sentinal可以从超时处理、仓壁模式、断路器、限流几个维度来保护微服务架构稳定运行; 一、服务雪崩 在微服务架构中,服务间调用关系错综复杂,因为调用链中的1个服务故障,引起整个链路都无法访问的情况。 二、服务雪崩解决方案 解决
阅读全文
微服务之异步远程调用(RabbitMQ)
摘要:前言 我们可以使用SpringCloud框架中Feign组完成微服务之间的远程调用; 但是Feign组件底层基于HTTP协议,HTTP协议的特点是请求同步,而且既需要请求也需要响应,属于同步远程调用; 微服务架构在同步远程调用的场景下,如果服务提供者一直没有响应服务消费者,很容易造成服务雪崩; 如果
阅读全文
微服务之服务网关(SpringCloudGateway)
摘要:前言 在微服务架构中,一个完整系统会被拆分为多个独立的微服务。 如果让每1个微服务都直接对外暴露、允许客户端直接访问,会带来一系列问题: HTTPS/TLS 卸载需要每个微服务自行实现,每个服务重复造轮子难以统一维护 客户端需要请求多个不同微服务,还需在客户端实现负载均衡,大幅增加前端复杂度 跨域请
阅读全文
微服务之同步远程调用(Feign)
摘要:前言 1.为什么需要RPC框架? 微服务的服务提供者和服务消费者解耦合之后,虽然可以借助restTemplate这样的HTTP客户端,向微服务的服务提供者发起远程调用; 但是这样的代码有2大缺陷: 代码可读性差,编程体验不统一 当URL参数复杂时难以维护 //使用RestTemplate发起远程调用
阅读全文
微服务之配置管理中心(Nacos)
摘要:前言 在当微服务架构中,当实例越来越多,达到数十、数百时,去逐个修改每1个微服务的配置就会让人抓狂,而且很容易出错。 这时我们就需要1个可以集中保存微服务配置的配置中心; 一、配置中心概念 我们可以提取每1个微服务架构中实例的经常变化的配置项,集中保存到1个配置中心里; 当需要修改配置时直接在配置中
阅读全文
微服务之服务注册中心(Nacos)
摘要:前言 微服务是一种拆分之后分而治之和分而动态强化之思想; 把一股防御力量拆分为海、陆、空军; 在战时可以在敌人侵犯海域时强化海军力量, 可以在遇到空袭时强化空军力量, 可以在在敌人登陆时强化陆军力量,以对来犯之敌; 在和平时期还可以进行针对性管理; 为什么要将1个整体的应用程序,拆分成1堆无法再继续
阅读全文
浙公网安备 33010602011771号