微服务
文章平均质量分 83
微服务
959y
奋斗ing
展开
-
[云原生] 企业级容器管理平台 Openshift 介绍
Openshift介绍原创 2024-08-21 11:49:21 · 630 阅读 · 1 评论 -
[go-zero] 简单微服务调用
go-zero 简单微服务调用原创 2024-07-05 18:59:21 · 913 阅读 · 0 评论 -
[go-zero] goctl 生成api和rpc
gozero中生成api和rpc接口代码原创 2024-06-30 17:06:02 · 775 阅读 · 0 评论 -
[Go 微服务] go-micro + consul 的使用
go-micro + consul 的使用原创 2024-06-29 18:00:03 · 1371 阅读 · 2 评论 -
[Go 微服务] Kratos 使用的简单总结
Kratos 使用的简单总结原创 2024-06-28 21:56:47 · 1366 阅读 · 0 评论 -
[Go 微服务] Kratos 验证码业务
goweb之kratos原创 2024-06-27 17:20:47 · 724 阅读 · 1 评论 -
[Go Web] Hertz 介绍和简单使用
Hertz是字节跳动研发的企业级微服务HTTP框架,具有高易用性、易扩展、低时延等特点。是基于自研网络库Netpoll开发的内部框架Hertz。极致性能优化的问题性。面对未来不可控需求的扩展能力,Hertz采用了4层分层设计(应用层、路由层、协议层、传输层),保证各个层级功能内聚,同时通过层级之间的接口达到灵活扩展的目标。高易用性: 在开发过程中,快速写出来正确的代码往往是更重要的。原创 2024-06-22 16:20:03 · 927 阅读 · 0 评论 -
[微服务] go-kit 介绍和使用 (微服务实现工具)
go-kit 微服务开发包原创 2024-06-16 12:35:05 · 726 阅读 · 0 评论 -
[SpringCloud] 组件性能优化技巧
组件的性能调优原创 2023-08-14 15:39:35 · 719 阅读 · 0 评论 -
跨域解决方案
跨域的3种解决方案: 1.CrossOrigin 2.HttpClient 3.SpringCloud Gateway原创 2022-10-17 16:11:31 · 248 阅读 · 0 评论 -
Spring Event 解耦业务
Spring Event 解耦业务原创 2022-06-22 21:23:23 · 290 阅读 · 0 评论 -
Spring Cloud 全链路灰度发布方案
如果实际生产有需求变更的话, 不会立刻在线上服务修改, 而是会切成一小部分流量进行修改测试。经过测试后无问题则全面的上线。文章目录1.什么是灰度发布2.什么是全链路灰度发布3.网关层的灰度路由转发4.openFeign透传灰度标记5.Nacos中服务如何做灰度标记6.总结1.什么是灰度发布灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在上面可以进行A/B测试, 即让一部分用户继续用产品特性A, 一部分用户使用产品特性B, 如果用户B没有反对意见的话, 那么会逐渐扩大范围, 把原创 2022-06-05 18:43:03 · 770 阅读 · 0 评论 -
ZooKeeper 的选举机制
ZooKeeper 集群中的三个服务器角色:Leader、Follower 和 Observer。其中,Leader 选举是 ZooKeeper 中最重要的技术之一,也是保证分布式数据一致性的关键所在。原创 2022-05-09 16:42:26 · 1492 阅读 · 0 评论 -
Paxos算法详解
文章目录1.Paxos算法简介2.Paxos算法流程3.Multi-Paxos算法1.Paxos算法简介Paxos算法是一种基于消息传递且具有高容错性的一致性算法Paxos解决的问题是如何正确快速在一个分布式系统 中对某个数据达成一致。2.Paxos算法流程在一个Paxos算法系统中, 所有节点分为3类: Propersor提议者, Accepter接受者, Learner学习者Proposer: 提出提案 (Proposal)。Proposal信息包括提案编号 (Proposal ID) 和原创 2022-02-20 14:53:59 · 2807 阅读 · 0 评论 -
详解 Eureka 缓存机制
文章目录1.AP 特性2.服务状态3.Eureka Server4.缓存机制5.Eureka Client6.默认配置下服务消费者最长感知时间7.网关实现服务下线实时感知1.AP 特性从 CAP 理论看,Eureka 是一个 AP 系统,优先保证可用性(A)和分区容错性§,不保证强一致性©,只保证最终一致性,因此在架构中设计了较多缓存。2.服务状态Eureka 服务状态 enum 类:com.netflix.appinfo.InstanceInfo.InstanceStatus3.Eureka原创 2022-02-19 17:46:55 · 979 阅读 · 0 评论 -
SpringBoot整合Prometheus实现应用监控
1.Micrometer简介Micrometer 为 Java 平台上的性能数据收集提供了一个通用的 API,应用程序只需要使用 Micrometer 的通用 API 来收集性能指标即可。Micrometer 会负责完成与不同监控系统的适配工作。这就使得切换监控系统变得很容易。Micrometer 还支持推送数据到多个不同的监控系统。Micrometer类似日志系统中SLF4J。Micrometer中有两个最核心的概念,分别是是计量器(Meter)和计量器注册表(MeterRegistry),下面来分别原创 2022-02-14 18:11:16 · 703 阅读 · 0 评论 -
java学习路线
1.性能调优2.并发编程3.开源框架4.分布式5.微服务6.手写框架7.项目实战原创 2022-01-29 17:47:23 · 1174 阅读 · 2 评论 -
RPC服务与HTTP服务
1.RPC 架构2.同步异步调用3.流行的 RPC 框架文章目录1.RPC 架构2.同步调用与异步调用3.流行的 RPC 框架4.HTTP 服务5.总结1.RPC 架构先说说 RPC 服务的基本架构吧。我们可以很清楚地看到,一个完整的 RPC 架构里面包含了四个核心的组件。ClientServerClient StubServer Stub(这个Stub大家可以理解为存根)客户端(Client),服务的调用方。服务端(Server),真正的服务提供者。原创 2022-01-23 18:35:41 · 337 阅读 · 0 评论 -
Spring Cloud Alibaba Gateway
文章目录1.网关简介2.常用的网关3.Gateway简介4.实战①5.实战②6.Gateway核心架构6.1 基本概念6.2 执行原理7.过滤器7.1 局部过滤器GatewayFilter7.2 全局过滤器GolbalFilter1.网关简介网关顾明思意:就是为了过滤一些不想被访问的,或者是危险的。没有网关时候的问题:客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性。认证复杂,每个服务都需要独立认证。存在跨域请求,在一定场景下处理相对复杂。网关就是为了解决这些问题而生的。所谓的原创 2022-01-05 19:14:37 · 808 阅读 · 1 评论 -
Spring Cloud Alibaba Feign
1.Feign介绍Feign是Spring Cloud提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。Nacos很好的兼容了Feign, Feign默认集成了 Ribbon, 所以在Nacos下使用Fegin默认就实现了负载均衡的效果。2.Feign实战需求:service-hosp调用service-cmn微服务查询数据库关键字段,以呈现给前端2.1 service-cmn1 添加依赖service-cmn添加依赖原创 2022-01-04 22:22:26 · 1016 阅读 · 0 评论 -
分布式ID生成方式
生成方式:1.UUID2.数据库自增ID3.数据库多主模式4.号段模式5.Redis6.雪花算法(SnowFlake)7.滴滴出品(TinyID)8.百度 (Uidgenerator)9.美团(Leaf)文章目录1.UUID2.数据库自增Id3.基于数据库集群模式4.基于数据库的号段模式5.Redis6.Snowflake7.百度(uid-generator)8.Leaf9.TinyId1.UUIDpublic static void main(String[] args) {原创 2021-12-24 00:21:30 · 188 阅读 · 0 评论 -
Spring Cloud Alibaba Nacos
文章目录1.服务治理2.注册中心的原理3.常见的注册中心4.Nacos概述5.Nacos实战5.1 下载Nacos5.2 测试5.3 商品服务加入nacos5.4 将订单服务注册到Nacos5.5 测试代码1.服务治理服务治理是微服务中核心模块,用于实现各个微服务的自动化注册和发现服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去监测清单中的服务是否可用,如果不可用,需要在服务清单中剔除不可原创 2021-12-19 22:51:18 · 451 阅读 · 0 评论 -
JDK.Dubbo.Spring的SPI机制对比
文章目录1.JDK SPI2.Dubbo SPI3.Spring spi4.总结1.JDK SPIJDK 中 提供了一个 SPI 的功能,核心类是 java.util.ServiceLoader。其作用就是,可以通过类名获取在META-INF/services/下的多个配置实现文件。META-INF/services/下创建一个 com.atguigu.SuperLoggerConfiguration通过 ServiceLoader 获取我们的 SPI 机制配置的实现类ServiceLoader&原创 2021-12-12 23:33:05 · 899 阅读 · 0 评论 -
SpringCloud Alibaba之Sentinel工作原理
文章目录核心介绍NodeSelectorSlotClusterBuilderSlotStatisticSlotFlowSlotDegradeSlotSystemSlotProcessorSlotChainContextEntryNodeStatisticSlot核心介绍在 Sentinel 里面,所有的资源都对应一个资源名称(resourceName),每次资源调用都会创建一个 Entry 对象。Entry 可以通过对主流框架的适配自动创建,也可以通过注解的方式或调用 SphU API 显式创建。Ent原创 2021-11-14 12:29:30 · 923 阅读 · 0 评论 -
什么是云原生
文章目录什么是云原生云原生的4大组件如何云原生什么是云原生技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。Pivotal公司的Matt Stine于2013年首次提出云原生(CloudNative)的概念;20原创 2021-10-25 11:08:51 · 304 阅读 · 0 评论 -
Kubernetes 核心资源原理
kubernetes 已经成为容器编排领域的王者,它是基于容器的集群编排引擎,具备扩展集群、滚动升级回滚、弹性伸缩、自动治愈、服务发现等多种特性能力。文章目录1.kubernetes 架构2.从创建 deployment 开始3.Pod3.容器编排4.水平扩缩容5.更新/回滚6.滚动更新7.kubernetes 中的网络8.微服务—service9.kubernetes 中的服务发现与网络调用1.kubernetes 架构从宏观上来看 kubernetes 的整体架构,包括 Master、Node原创 2021-10-24 16:08:54 · 277 阅读 · 0 评论 -
K8s kubectl 常用命令总结
1.1. kubectl语法kubectl [command] [Type] [NAME] [flags]command: 子命令,用于操作kubernetes集群资源对象的命令,例如:create, delete, describe, get, apply等等TYPE: 资源对象的类型,区分大小写,能以单数,复数或者简写形式表示。例如以下3中TYPE是等价的。kubectl get pod pod1kubectl get pods pod1kubectl get po pod1NAME:资原创 2021-10-24 15:54:41 · 5195 阅读 · 0 评论 -
常用的限流算法有哪些
文章目录1.计数器1.1 时间段的限制1.2 无时间段限制2.滑动窗口3.漏桶4.令牌桶5.总结1.计数器计数器是最简单,最直接明了的限流算法。说白了就是进行数字累加操作,也就是count++ 这你总能看懂吧!单机限流可以直接使用LongAdder或者AtomicLong这些原子类进行计数操作即可。用Semaphore也可以,Semaphore内部本身就是计数器的方式实现。集群限流可以使用Redis的incr进行计数累加即可,用其他的存储也可以,核心就是要有集中存储计数的地方。计数器算法也分为两种原创 2021-10-24 15:30:25 · 478 阅读 · 0 评论 -
openFeign
文章目录1.Feign是什么?2.Feign和openFeign有什么区别3.openFeign如何传参4.超时设置5.开启日志增强6.如何通讯优化7.如何熔断降级1.Feign是什么?Feign集成了Ribbon、RestTemplate实现了负载均衡的执行Http调用,只不过对原有的方式(Ribbon+RestTemplate)进行了封装,开发者不必手动使用RestTemplate调服务,而是定义一个接口,在这个接口中标注一个注解即可完成服务调用,这样更加符合面向接口编程的宗旨,简化了开发。2.原创 2021-10-06 18:55:24 · 426 阅读 · 0 评论 -
Zuul和Gateway的区别
Zuul:使用的是阻塞式的 API,不支持长连接,比如 websockets。底层是servlet,Zuul处理的是http请求没有提供异步支持,流控等均由hystrix支持。依赖包spring-cloud-starter-netflix-zuul。Gateway:Spring Boot和Spring Webflux提供的Netty底层环境,不能和传统的Servlet容器一起使用,也不能打包成一个WAR包。依赖spring-boot-starter-webflux和/ spring-cloud原创 2021-09-08 22:05:20 · 4615 阅读 · 0 评论 -
dubbo原理
文章目录1.框架设计2.标签解析3.服务暴露4.服务引用5.服务调用6.netty的架构1.框架设计config 配置层:对外配置接口,以 ServiceConfig, ReferenceConfig 为中心,可以直接初始化配置类,也可以通过 spring 解析配置生成配置类proxy 服务代理层:服务接口透明代理,生成服务的客户端 Stub 和服务器端 Skeleton, 以 ServiceProxy 为中心,扩展接口为 ProxyFactoryregistry 注册中心层:封装服务地址的注册与原创 2021-08-22 16:12:48 · 212 阅读 · 0 评论 -
各个微服务注册中心对比
当下,分布式系统正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。CAP定理,又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点:一致性(Consistency) (等同于所有节点访问同一份最新的数据副本)可用性(Availability)(每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据)分区容错性(Partition原创 2021-07-14 18:22:01 · 758 阅读 · 0 评论 -
分布式理论:BASE理论
文章目录前言正文1. CAP的3选2伪命题2. BASE理论简介3. BASE理论的内容3.1. 基本可用3.2. 软状态3.3. 最终一致性3.3.1. 因果一致性(Causal consistency)3.3.2. 读己之所写(Read your writes)3.3.3. 会话一致性(Session consistency)3.3.4. 单调读一致性(Monotonic read consistency)3.3.5. 单调写一致性(Monotonic write consistency)小结前言B原创 2021-06-14 16:26:37 · 174 阅读 · 0 评论 -
springcloud阿里巴巴五大组件
Spring Cloud Alibaba一、介绍Spring Cloud AlibabaⅠ、简介spring cloud Netflix 相关技术整体进入维护模式 Ribbon、Hystrix、zuul、Eureka、config等spring cloud 整合Netflixspring cloud alibaba 包含Netflix功能中文介绍:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.mdⅡ、原创 2021-06-14 15:32:13 · 61338 阅读 · 0 评论 -
Spring Cloud核心组件详解
文章目录一、Spring Cloud核心组件:Eureka1)、服务提供者2)、服务消费者3)、服务注册中心二、Spring Cloud核心组件:Ribbon三、Spring Cloud核心组件:Fegin四、Spring Cloud核心组件:Hystrix五、Spring Cloud核心组件:Zuul六、小结一、Spring Cloud核心组件:EurekaNetflix Eureka1)、Eureka服务端:也称服务注册中心,同其他服务注册中心一样,支持高可用配置。如果Eureka以集群模式部署,原创 2021-06-14 15:27:18 · 257 阅读 · 0 评论 -
Zookeeper闪退问题
编辑zkServer.cmd文件,在末尾添加pause 。重新打开zk服务器(双击zkServer.cmd打开),报如下错误:显示在conf目录下没有 zoo.cfg文件解决方案:1.复制zoo.sample.cfg,然后把复制的文件改为zoo.cfg,重新启动zk,发现启动成功.2.进一步,我们还可以配置数据存储目录和日志目录,如下zoo.cfg......原创 2021-05-19 18:49:51 · 175 阅读 · 0 评论