为什么 Higress 是 Knative 入口网关的最佳实践?
本文介绍了 Knative 网络层原理,Higress 对接 Knative 服务的两种方式,并给出 Higress 成为 Knative 入口网关的最佳实践。
Sentinel 2.0 微服务零信任的探索与实践
本文介绍 SpringCloudAlibaba、Dubbo 和普通 springboot 应用如何在 Sentinel 2.0 的基础上无缝升级零信任。
Mybatis-Plus极简教程
Mybatis-Plus 简称 MP ,是 Mybatis 的增强工具,提供了一批开箱即用的功能、特性、接口、注解,简化了应用程序访问数据库的相关操作,完善了Mybatis作为ORM仅能做到半自动的不足,提高了开发人员的开发效率。 MP是社区产品,当前源代码在Github上面进行维护,基于Apache2.0开源协议,可放心在商业项目上使用。
基于云原生网关的全链路灰度实践
本文完整介绍了基于物理环境隔离和基于逻辑环境隔离两种方案,其中对基于逻辑环境隔离方案进行详细分析对涉及到的各个技术点做了相关介绍,并基于 EDAS 及 MSE 云原生网关的落地方案,并给出相关产品配置用例。
支撑 “千万设备日活” 的创米数联 7 年微服务架构演进之路
未来创米云服务将业务网关逐渐转型为云原生网关+WASM 插件方案,代替繁重的 Spring Cloud Gateway 业务网关,进一步提升网关性能、灵活性和可扩展性,并接入现有可观测体系。我们将继续致力于创新和技术升级,为用户提供更优质的产品体验。
阿里云微服务引擎 MSE 全新升级,实用能力更普惠,最高降幅 75%
5 月 17 日,阿里云峰会·常州站宣布微服务引擎 MSE 三大普惠升级,进一步降低客户享受微服务技术红利的成本。
微服务之:独立服务
考虑一下一家外卖公司 应用程序,它是一个在线食品配送应用程序。应用程序的客户端通过发出 HTTPPOST /orders请求来创建订单,并期望在 600 毫秒内得到响应。由于 该 应用程序使用微服务架构,实现订单创建的职责分散在多个服务中。POST请求首先被路由到,然后Order Service它必须与以下服务协作: • Restaurant Service- 了解餐厅的菜单和价格 • Consumer Service- 知道下Consumer订单的状态 • Kitchen Service- 创建一个Ticket,告诉厨师要做什么 • Accounting Service- 授权消费者的信用卡
微服务常用的模式语言:统一交流术语
模式语言提供了讨论问题的交流术语,它明确了特定场景、特定问题的解决方案和延伸性思考。模式语言主要目的是帮助开发者解决在设计和编程中遇到的共同的问题,即清晰的问题陈述、体现问题的解决方案以及推动解决方案的力量(Force)的清晰表述。 微服务架构作为一个现在流行的服务架构,也有一套属于自己的模式。这篇文章是微服务架构相关模式语言的一个提纲。Chris Richardson 从不同的角度,对相关的模式进行了分类。可以点击链接查看每个模式的详细描述。下图通过虚线框细分了不同的微服务模式。
50-微服务技术栈(高级):分布式协调服务zookeeper源码篇(Leader选举)
前面学习了Zookeeper相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举。
33-微服务技术栈(高级):分布式事务Seata的SAGA模式与几种模式总结对比
在分布式架构系统中,服务不止一个,一个完整的业务链路肯定也不止调用一个服务,此时每个服务都有自己的数据库增删改查,而每一个写操作对应一个本地事务。如果想要确保全部的业务状态一致,也就意味着需要所有的本地事务状态一致,这在我们之前的学习中肯定是不具备的,如何做到跨服务、跨数据源的事务一致性将是本章节的重点学习内容。
23-微服务技术栈(高级):分布式缓存Redis哨兵集群
在上一节我们完成主从集群的搭建,虽然解决了读的压力,但是当集群主节点宕机时,系统架构有没有备用方案呢?如果没有是不是缓存层就直接失效、甚至异常了呢?在此基础之上我们可以借助于哨兵完成新主节点的选举,实现集群的自动恢复。
08-微服务技术栈(扩展):负载均衡算法
负载均衡算法作为Redis、MQ、ZK,GateWay等集群、组件必不可少的算法策略,是微服务框架中不可或缺的一部分知识点,本节我们将花费短暂的时间做个了解。
SpringCloud微服务实战——搭建企业级开发框架(四十三):多租户可配置的电子邮件发送系统设计与实现
SpringBoot提供了基于JavaMail的starter,我们只要按照官方的说明配置邮件服务器信息,即可使我们的系统拥有发送电子邮件的功能。但是,在我们GitEgg开发框架的实际业务开发过程中,有两个问题需要解决:一个是SpringBoot邮箱服务器的配置是配置在配置文件中的,不支持灵活的界面配置。另外一个是我们的开发框架需要支持多租户,那么此时需要对SpringBoot提供的邮件发送功能进行扩展,以满足我们的需求。
SpringCloud学习(十二):Hystrix支付微服务构建
Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(六)开发篇-如何解决微服务开发环境请求实例转发到别人机器问题
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(六)开发篇-如何解决微服务开发环境请求实例转发到别人机器问题
23、一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事(十五)
微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物。互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况下,如何从系统架构的角度出发,构建灵活、易扩展的系统,快速应对需求的变化呢?同时随着用户的增加,如何保证系统的可伸缩性、高可用性,成为系统架构面临的挑战。
Kratos微服务框架实现权鉴 - Zanzibar
用户的权限管理对每个项目来说都至关重要。不同的业务场景决定了不同的权限管理需求,不同的技术栈也有不同的解决方案。如果你面对一个非常复杂的业务,需要实现极为灵活的权限配置,并且同时对接多个服务怎么办呢?谷歌的一致性全球授权系统Zanzibar可以帮到你。
Kratos微服务框架实现权鉴 - OPA
现在,策略通常是它实际管理的软件服务的一个硬编码功能。Open Policy Agent让您可以将策略从软件服务中解耦出来,这样,负责策略的人员就可以从服务本身中分离出来,对策略进行读、写、分析、版本、发布以及一般的管理。OPA还为您提供了一个统一的工具集,使您可以将策略与任何您喜欢的软件服务解耦,并使用任何您喜欢的上下文来编写上下文感知策略。简而言之,OPA可以帮助您使用任何上下文从任何软件系统解耦任何策略。
使用Docker-compose来封装celery4.1+rabbitmq3.7服务,实现微服务架构
大家都知道,Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,在之前的一篇文章中:[python3.7+Tornado5.1.1+Celery3.1+Rabbitmq3.7.16实现异步队列任务](https://v3u.cn/a_id_99)详细阐述了如何进行安装部署和使用,但是过程太繁琐了,先得安装Erlang,再安装rabbitmq,然后各种配置,最后由于async关键字问题还得去修改三方库的源码,其实我们可以通过docker来将celery服务封装成镜像,如此一来,以后再使用celery或者别的系统依赖celery,我们只需要将该镜像以容器的形式跑服务即可,不需要繁琐的配
10分钟看懂SpringCloud微服务
传统的单体式架构系统,SSH、SSM等MVC模式架构;大家都很熟悉了。也是逐渐被淘汰的一些陈旧的技术了,这类系统的共通点是:整个系统打包成一个应用程序,测试部署上线。一旦业务量扩大到,整个系统没法容纳和承受它的压力时;就会出现各种各样的问题,如:高并发带来的服务器崩溃,线程堵塞,响应缓慢等。严重影响了公司的业务和发展;为了在技术上解决此类问题,以至于,出现了目前流行的分布式微服务技术。
ELK搭建(一):实现分布式微服务日志监控
本次我们搭建的目标是通过ELK来收集微服务中的日志。本期主要以实操、快速搭建为主进行讲解,部分基础概念不做过多描述,后续会再单独出几期博客说明。更多ELK搭建可以关注本专栏,后续会持续输出。
微服务注册中心技术选型:5种主流注册中心,哪个最香?
讲解5种常用的注册中心,对比其流程和原理,无论是面试还是技术选型,都非常有帮助。 对于注册中心,在写这篇文章前,我其实只对ETCD有比较深入的了解,但是对于Zookeeper和其它的注册中心了解甚少,甚至都没有考虑过ETCD和Zookeeper是否适合作为注册中心。 经过近2周的学习,原来注册中心除了ETCD和Zookeeper,常用的还有Eureka、Nacos、Consul,下面我们就对这些常用的注册中心,初探它们的异同,便于后续技术选型。 全文接近 8千字,有点长,建议先收藏,再慢慢看,下面是文章目录:
Spring Cloud 微服务优雅下线 + 灰度发布的正确姿势,写得太好了!
在生产环境中,如何保证在服务升级的时候,不影响用户的体验,这个是一个非常重要的问题。如果在我们升级服务的时候,会造成一段时间内的服务不可用,这就是不够优雅的。那什么是优雅的呢?主要就是指在服务升级的时候,不中断整个服务,让用户无感知,进而不会影响用户的体验,这就是优雅的。
大规模 Kubernetes 集群故障注入的利器-ChaosBlade
大规模 Kubernetes 集群故障注入预演,chaosblade-operator 1.5.0 版本、chaosblade-operator 1.6.1 版本总结分析