微服务
文章平均质量分 93
微服务系列
优惠券已抵扣
余额抵扣
还需支付
¥79.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
学无止路
积极向上,坚持不懈的奋斗!
展开
-
StorageClass、K8s集群及、KubeSphere3.0安装
StorageClass、KubeKey离线安装K8s集群及、KubeSphere3.0、KubeSphere高级进阶、创建WordPress应用1 KubeSphereKubernetes默认的dashboard功能比较弱,我们用KubeSphere可以打通全部的DevOps链路。 KubeSphere集成了很多套件,集群要求比较高:https://kubesphere.io/zh/KubeSphere开发者社区:https://kubesphere.com.cn/forum/Kuboard也很原创 2021-06-09 21:18:36 · 566 阅读 · 0 评论 -
Kubernetes架构,集群部署,Ingress,项目部署,Dashboard
Kubernetes架构,集群部署,Ingress,项目部署,Dashboard1 K8S集群部署1.1 k8s快速入门1.1.1 简介Kubernetes简称k8s,是用于自动部署,扩展和管理容器化应用程序的开源系统。中文官网:https://kubernetes.io/zh/中文社区:https://www.kubernetes.org.cn/官方文档:https://kubernetes.io/zh/docs/home/社区文档:http://docs.kubernetes.org.c原创 2021-04-19 07:20:08 · 199 阅读 · 0 评论 -
Nacos连接mysql失败,导致无法进入Nacos控制台
Nacos连接mysql失败,导致无法进入Nacos控制台原因:重启docker导致mysql容器的ip发生变化。如图所示: 解决办法如下:1.停止nacos容器的命令如下:docker stop nacos如图所示:说明停止成功!2.删除nacos容器的命令如下: docker rm nacos如图所示:说明删除成功!3.创建nacos配置文件,/mydata/nacos/init.d/custom.properties的命令如下:mkdir -p /mydata/nacos原创 2020-12-30 20:32:33 · 2308 阅读 · 0 评论 -
Docker介绍,常用命令,应用部署,迁移与备份,Dockerfile,私有仓库
Docker介绍,常用命令,应用部署,迁移与备份,Dockerfile,私有仓库1 Docker简介1.1 什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。在实际的生产环境中,虚拟化技术主要用原创 2020-12-18 20:22:03 · 208 阅读 · 0 评论 -
微服务架构之监控预警
微服务架构之监控预警1 微服务监控预警概念1.1 前言分布式和微服务架构的落地和发展,随着业务快速发展,服务器越来越多,中间件、应用、微服务、数据库等也越来越多样化,监控是微服务控制系统的关键部分,你的软件越复杂,那么你就越难了解其性能及问题排障。业务量达到百亿、千亿规模后,几百、数千台虚拟机、中间件容器,需要监控的网络、硬件、软件、应用和各种数据库。微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是单独部署运行的,彼此通过总线交互,都是无状态的服务。这种架构下,从前到后的业务流程会经原创 2020-12-15 13:30:46 · 1235 阅读 · 0 评论 -
微服务架构之消息驱动
微服务架构之消息驱动1 Spring Cloud Stream 简介官方定义 Spring Cloud Stream 是一个构建消息驱动微服务的框架。Spring Cloud Stream构建在SpringBoot之上,提供了Kafka,RabbitMQ等消息中间件的个性化配置,引入了发布订阅、消费组和分区的语义概念,有效的简化了上层研发人员对MQ使用的复杂度,让开发人员更多的精力投入到核心业务的处理。在实际开发过程中,服务与服务之间通信经常会使用到消息中间件,而以往使用了哪个中间件比如Rabbit原创 2020-12-12 14:00:02 · 367 阅读 · 0 评论 -
Seata AT事务底层原理分析
Seata AT事务底层原理分析1 Seata 主线流程图 1.1 Seata AT事务详解AT模式下,把每个数据库被当做是一个Resource,Seata里称为DataSource Resource。业务通过JDBC标准接口访问数据库资源时,Seata框架会对所有请求进行拦截,做一些操作。每个本地事务提交时,Seata RM(Resource Manager,资源管理器) 都会向 TC(TransactionCoordinator,事务协调器) 注册一个分支事务。当请求链路调用完成后,发起方通原创 2020-12-09 15:57:03 · 491 阅读 · 0 评论 -
微服务架构之分布式事务
微服务架构之分布式事务1 分布式事务的产生背景以及理论指导1.1 分布式事务产生的背景在微服务(分布式)环境下,因为会根据不同的业务会拆分成不同的服务,每个服务都有自己独立的数据库,并且是独立运行,互不影响。服务与服务之间通讯采用RPC远程调用技术,但是每个服务中都有自己独立的数据源,即自己独立的本地事务。两个服务相互通讯的时候,两个本地事务互不影响,从而出现分布式事务产生的原因。案例1:下单扣库存——在电商系统中,下单和扣库存如何保持一致?比如:用户先下单后,扣库存失败,那么将会导致超卖;如果下原创 2020-12-08 17:25:18 · 150 阅读 · 0 评论 -
微服务架构之链路追踪
微服务架构之链路追踪Google Dapper论文概述当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。Dapper–Google生产环境下的分布式跟踪系统,应运而生。那么我们就来介绍一个大规模集群的跟踪系统,它是如何满足一个低损耗、应用透明的、大范围部署这三个需求的。当原创 2020-12-08 16:16:36 · 168 阅读 · 0 评论 -
Spring Cloud Gateway网关原理分析
Spring Cloud Gateway网关原理分析1 架构图 1.1 Spring WebFlux什么是 Spring WebFlux下图截自Spring Boot官方网站:结合上图,在了解Spring WebFlux之前,我们先来对比说说什么是Spring MVC,这更有益我们去理解WebFlux,图右边对Spring MVC的定义,原文如下:Spring MVC is built on the Servlet API and uses a synchronous blocking I/O原创 2020-12-02 16:41:03 · 659 阅读 · 0 评论 -
微服务架构之服务网关
微服务架构之服务网关1 服务网关概念网关是任何微服务架构的重要组成部分。有了它我们可以在一个独立的模块上方便的处理一些非业务逻辑,可以让微服务本身专注在自身特定的功能上,使得每个微服务的开发更容易和更快速。1.1 为什么需要网关?其实在我们的项目曾经还是单体应用的时候,虽然没有网关的概念,但是一般在项目中都会用到filter/过滤器之类的东西,filter的作用就是把项目中的一些非业务逻辑的功能抽离出来独立处理,避免与业务逻辑混在一起增加代码复杂度。比如鉴权认证功能、Session处理、安全检查、日原创 2020-11-30 13:50:53 · 671 阅读 · 0 评论 -
Sentinel底层原理分析
Sentinel底层原理分析1 常见的限流算法1.1 计数器计数器算法是限流算法里最简单也是最容易实现的一种算法,简单来说就是规定单位时间处理的请求数量规定单位时间处理的请求数量。比如我们规定我们的一个接口一分钟只能访问100次的话。 在一开始,我们设置一个计数器counter,每当一个请求过来,counter就加1,如果counter的值大于100并且该请求与第一个请求的间隔时间还在1分钟之内,那么说明请求数过多,触发限流。如果该请求与第一个请求的间隔时间大于1分钟,且counter的值还在限流范原创 2020-11-27 17:41:18 · 1212 阅读 · 0 评论 -
微服务架构之限流熔断
微服务架构之限流熔断1 高并发下如何保证高可用1.1 什么是高并发?高并发(High Concurrency)是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况,主要发生在web系统集中大量访问收到大量请求(例如:秒杀、12306的抢票、天猫双十一、微博热点)。该情况的发生会导致系统在这段时间内执行大量操作,例如对资源的请求,数据库的操作等。总的来说,高并发需要一定的用户基数、一定的业务量,才会碰到高并发的处理指标高并发相关常用的一些指标有:1.响应时间(Response Time)原创 2020-11-26 09:54:54 · 337 阅读 · 0 评论 -
Nacos动态配置原理分析
Nacos动态配置原理分析Nacos源码流程图如下:1 流程分析1.入口:NacosConfigAutoConfiguration,首先看一下spring-cloud-starter-alibaba-nacos-discovery项目的结构,如图所示:2.看spring.factories中内容,优先加载装配的配置的源代码如下:org.springframework.cloud.bootstrap.BootstrapConfiguration=\org.springframework.cloud原创 2020-11-23 10:32:40 · 1262 阅读 · 0 评论 -
微服务架构之配置中心
微服务架构之配置中心1 配置中心概念「配置中心」,顾名思义,就是用来统一管理项目中所有配置的系统。虽然听起来很简单,但也不要小瞧了这个模块。如果一个中型互联网项目,不采用配置中心的模式,一大堆的各类配置项,各种不定时的修改需求,一定会让开发同学非常头疼且管理十分混乱。我认为甚至可以直接用 “一个项目中是否有无采用「配置中心」”这一粗略的条件,来判断一个互联网研发团队是否规范和成熟。2 为什么需要配置中心?我们先来看看在没有「配置中心」的传统项目中,我们是怎么处理各类配置参数问题的:1.一般是静态化原创 2020-11-20 17:49:39 · 422 阅读 · 0 评论 -
微服务架构之服务调用
微服务架构之服务调用1 概念微服务中,很多服务系统都在独立的进程中运行,通过各个服务系统之间的协作来实现一个大项目的所有业务功能。服务系统间使用多种跨进程的方式进行通信协作,而RESTful风格的网络请求是最为常见的交互方式之一。思考:自己实现服务调用如何写?1.硬编码。不好。ip域名写在代码中。目的:找到服务。2.根据服务名,找相应的ip。目的:这样ip切换或者随便变化,对调用方没有影响。Map<服务名,服务列表> map;3.加上负载均衡。目的:高可用。spring clou原创 2020-11-18 15:46:21 · 382 阅读 · 0 评论 -
Nacos服务注册原理分析
Nacos服务注册原理分析1 注册中心CAP架构CAP理论,如图所示:CAP三个元素(一致性、可用性、分区容忍性):一致性:所有数据备份在同一时刻具有同样的值,所有节点在同一时刻读取的数据都是最新的数据副本。可用性:在任何故障模型下,服务都会在有限的时间内处理完成并进行响应。分区容忍性:尽管有部分消息丢失系统仍可用。这三个要素最多只能同时实现两点不能三者兼顾,因此在做架构设计时必须做取舍,而分区容忍性必要的,所以在一致性和可用性取平衡,当前主流的是牺牲强一致性换区高可用性,只需保留最终一致性即原创 2020-11-16 11:20:07 · 330 阅读 · 0 评论 -
微服务架构之注册中心
微服务架构之注册中心1 微服务的注册中心注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。如图所示:注册中心的主要作用服务注册中心(下称注册中心)是微服务架构非常重要的一个组件,在微服务架构里主要起到了协调者的一个作用。注册中心一般包含如下几个功能:1.服务发现 服务注册/反注册:保存服务提供者和服务调用者的信息 服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的原创 2020-11-14 20:10:34 · 643 阅读 · 0 评论 -
Spring Boot 整合Swagger实现API管理
Spring Boot 整合Swagger实现API管理1 Swagger介绍根据官网的介绍:https://swagger.ioSwagger 是一款RESTFUL接口的、基于YAML、JSON语言的文档在线自动生成、代码自动生成的工具。Swagger Inspector:测试API和生成OpenAPI的开发工具。Swagger Inspector的建立是为了解决开发者的三个主要目标。1.执行简单的API测试。2.生成OpenAPI文档。3.探索新的API功能。Swagger使用的注解及原创 2020-11-11 16:30:03 · 167 阅读 · 0 评论 -
Spring Boot 多数据源动态配置
Spring Boot 多数据源动态配置Spring Framework 为 SQL 数据库提供了广泛的支持。从直接使用 JdbcTemplate 进行 JDBC 访问到完全的对象关系映射(object relational mapping)技术,比如 Hibernate。Spring Data 提供了更多级别的功能,直接从接口创建的 Repository 实现,并使用了约定从方法名生成查询。1 默认数据源HikariDataSource1.打开IDEA工具如图所示的界面,点击Create New P原创 2020-11-09 14:00:03 · 136 阅读 · 0 评论 -
Spring Boot 实现多环境配置动态解析
Spring Boot 实现多环境配置动态解析1 什么是外部化配置?SpringBoot官方解释如下:Spring Boot lets you externalize your configuration so that you can work with the same application code in different environments. You can use properties files, YAML files, environment variables, and co原创 2020-11-07 14:28:12 · 285 阅读 · 0 评论 -
Spring Boot运行机制源码剖析
Spring Boot运行机制源码剖析1 SpringBoot入口程序1.SpringApplication运行的代码如下:@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}2.自定义SpringApplication1).通过Spr原创 2020-11-05 14:24:01 · 155 阅读 · 0 评论 -
Spring Boot 核心组件之Actuator
Spring Boot 核心组件之Actuator1 Actuator是干啥的?Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP跟踪等,帮助我们监控和管理Spring Boot应用。这个模块是一个采集应用内部信息暴露给外部的模块,Actuator可以使用HTTP或者JMX endpoints来浏览操作信息。大多数应用程序都是用HTTP,作为endpoint的标识以及使用/actuator前缀作为URL路径。因为暴露内部信息的特性,Actuato原创 2020-11-02 13:28:03 · 1196 阅读 · 0 评论 -
Spring Boot 核心组件之Starter
Spring Boot 核心组件之Starter1 Starter介绍1.1 什么是Starterstarter可以理解成pom配置了一堆jar组合的空maven项目,用来简化maven依赖配置,starter可以继承也可以依赖于别的starter。 例如spring-boot-starter-web包含以下依赖:org.springframework.boot:spring-boot-starter org.springframework.boot:spring-boot-starter-to原创 2020-10-31 11:50:39 · 430 阅读 · 1 评论 -
Microservices 基础理论
Microservices 基础理论1 Martin Fowler微服务论文原文地址:https://www.martinfowler.com/articles/microservices.html微服务微服务风格的特性组件化(Componentization)与服务(Services)围绕业务功能的组织产品不是项目强化终端及弱化通道分散治理分散数据管理基础设施自动化容错性设计设计改进微服务是未来吗其它微服务系统多大微服务与SOA多语言多选择实践标准和强制标准让做对事原创 2020-10-29 09:58:01 · 702 阅读 · 3 评论