分布式之接口幂等性

前言 什么是幂等性?一次和多次请求某一个资源,对资源本身所产生的的影响均与一次执行的影响相同。 幂等性是系统服务对外的一种承诺,承诺只要调用接口成功了,多次调用对系统的影响是一致的。 幂等性与重复提交比较 幂等性 更多使用的情况是第一次请求知道结果,但是由于网络抖动或连接超时等情况未进行正常返回,在 ... »

简单操作:10分钟实现在kubernetes(k8s)里面部署服务器集群并访问项目(docker三)

前言 经过docker安装、k8s开启并登录,我们终于到 “部署k8s服务器集群并访问项目” 这一步了,实现的过程中有太多坑,好在都填平了,普天同庆。 在进行当前课题之前,我们需要有上两节课的知识内容作为基础(docker安装和k8s开启),否则新来的同学可能听不懂。 点下面链接可以进行回顾学习(学 ... »

微服务架构设计模式概述

作者:Grey 原文地址: 微服务架构设计模式概述 说明 本文内容是《微服务架构设计模式》这本书的学习笔记 单体应用转换成微服务可以考虑的几个维度 SOA和微服务的区别 SOA 微服务 协议 重量级(SOAP,WS*) REST或者RPC 数据管理 共享数据库 每个服务都有自己的数据模型和数据库 典 ... »

greyzeng

SpringBoot快速集成SpringBootAdmin管控台监控服务

SpringBootAdmin是一个针对 Spring Boot 的 Actuator 接口进行 UI 美化封装的监控工具,它可以在列表中浏览所有被监控 spring-boot 项目的基本信息、详细的 Health 信息、内存信息、JVM 信息、垃圾回收信息、各种配置信息(比如数据源、缓存列表和命中 ... »

微前端 - 将微服务理念延伸到前端开发中

翻译自 https://micro-frontends.org/ 本文描述了采用不同 JavaScript 技术框架的多个团队中协同构建一个现代化前端 Web 应用所需要的技术、策略和方法。 »

zhuanzhuanfe

从kratos分析breaker熔断器源码实现

为什么要用熔断 前面我们讲过限流保证服务的可用性,不被突如其来的流量打爆。但是两种情况是限流解决不了的。 如果我们服务只能处理1000QPS,但是有10wQPS打过来,服务还是会炸。因为拒绝请求也需要成本。 服务但是io型的,会把mysql,redis,mq等中间件打挂。 所以,我们遵循一个思路,可 ... »

从kratos分析BBR限流源码实现

什么是自适应限流 自适应限流从整体维度对应用入口流量进行控制,结合应用的 Load、CPU 使用率、总体平均 RT、入口 QPS 和并发线程数等几个维度的监控指标,通过自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。 核心目标: 自动 ... »

三.Go微服务--令牌桶实现原理

1. 前言 在上一篇文章 Go微服务: 令牌桶 当中简单的介绍了令牌桶实现的原理,然后利用 /x/time/rate 这个库 10 行代码写了一个基于 ip 的 gin 限流中间件,那这个功能是怎么实现的呢?接下来我们就从源码层面来了解一下这个库的实现。这个实现很有意思,并没有真正的使用一个定时器不 ... »

Blazor+Dapr+K8s微服务之基于WSL安装K8s集群并部署微服务

前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行。当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for desktop中启用就可以了。但是我发现,启用了k8s后,Docker for desktop会消耗大量的系统资源,导致系... ... »

「萌新指南」SOA vs. 微服务:What’s the Difference?

实话实说,在我还没有实习之前,我是连 SOA 是啥都不知道的,只听说过微服务,毕竟微服务实在太火了,想不知道都难,我觉得实习的时候肯定也是微服务,进组之后发现是 SOA 架构,当时都懵了,看了很多文档做了很多笔记都还是不太明白 SOA 是啥,后来又困惑于 SOA 和微服务的区别是啥,我还去翻了一下《 ... »

cswiki

一. Go微服务--隔离设计

前言 隔离设计源于船舶行业,一般而言无论大船还是小船,都会有一些隔板,将船分为不同的空间,这样如果有船舱漏水一般只会影响这一小块空间,不至于把整个船都给搞沉了。 同样我们的软件服务也是一个道理,我们要尽量避免出现一个问题就把这个业务给搞挂的情况出现 那什么是「服务隔离」呢? 顾名思义,它是指将系统按 ... »

Blazor+Dapr+K8s微服务之事件发布订阅

Blazor+Dapr+K8s微服务之事件发布订阅, 本期我们要实现的是:利用Dapr的事件发布和订阅能力,在blazorweb服务中发布一个事件,并传递事件参数,然后在serviceapi1服务中订阅该事件,接收到blazorweb服务中发布的事件和参数。 ... »

谈谈 Nginx 那点事【一】

为什么突然决定总结Nginx ? 不知不觉8月份又要过完了,时间真是个无情的崽种。 写Nginx 首先,主要源于最近项目部署工作中和公司技术中心的人对接部署相关事宜流程太繁琐了。每个部门有各自的工作安排 要协调要沟通就会有耗时。博主是一个不想麻烦别人的人 非外部或依托平台的自身条件限制等原因,能自己 ... »

doondo Nginx

一种简易但设计全面的ID生成器思考

分布式系统中,全局唯一 ID 的生成是一个老生常谈但是非常重要的话题。随着技术的不断成熟,大家的分布式全局唯一 ID 设计与生成方案趋向于趋势递增的 ID,这篇文章将结合我们系统中的 ID 针对实际业务场景以及性能存储和可读性的考量以及优缺点取舍,进行深入分析。本文并不是为了分析出最好的 ID 生成 ... »

Blazor+Dapr+K8s微服务之服务调用

1.1 Dapr环境配置 1.1.1 在开发机安装Docker Desktop并启用Kubernetes 安装过程略,安装好后效果如下:(左下角两个绿色指示Docker和K8s正在运行) 1.1.2 在开发机安装Dapr Cli 安装命令: powershell -Command "iwr -use ... »

10分钟了解微服务、容器和Kubernetes

什么是微服务? 什么是微服务?你应该使用微服务吗?微服务与容器和 Kubernetes 有什么关系?如果这些问题在您的日常生活中不断出现,那么这篇文章适合您。 从根本上说,微服务只是一个运行在服务器或虚拟计算实例上并响应网络请求的计算机程序。这与典型的Java、Django、Node.js应用程序没 ... »