摘要: 首先,先说下服务治理的边界,本质上任何能提升服务可用性,性能,让服务更稳定等等,只要是能让服务运行的更好,都属于服务治理的范畴。服务治理比较常见的话题:服务发现,服务变更管理,服务监控,服务扩容缩容,服务自我保护,服务降级,服务授权防攻击,服务上线验证和灰度发布,服务问题定位和跟踪,服务负载,服务实 阅读全文
posted @ 2021-02-01 23:20 luoxn28 阅读(769) 评论(0) 推荐(0) 编辑
摘要: 分布式系统为了保证系统稳定性,在服务治理的限流中会根据不同场景进行限流操作,常见的限流算法有: 令牌桶:可容忍一定突发流量的速率的限流,令牌桶算法的原理是系统以恒定的速率产生令牌,然后把令牌放到令牌桶中,令牌桶有一个容量,当令牌桶满了的时候,再向其中放令牌,那么多余的令牌会被丢弃;当想要处理一个请求 阅读全文
posted @ 2021-01-30 22:44 luoxn28 阅读(1862) 评论(0) 推荐(0) 编辑
摘要: 3个线程依次打印1、2、3…这个问题,常常被作为面试题,题目如下: 三个线程,一个线程负责打印1,4,7,……;第二个负责打印2,5,8,……,第三个负责打印3,6,9,……,要求在控制台中按顺序输出1,2,3,4,5,6……。 这个题目肯定是要启动3个线程的,那怎么让这3个线程“协作”按顺序打印1 阅读全文
posted @ 2020-02-29 20:40 luoxn28 阅读(1610) 评论(1) 推荐(0) 编辑
摘要: InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便。 influxdb的单机版是开源的,而集群版是商业版,influxdb被设计 阅读全文
posted @ 2020-01-30 09:22 luoxn28 阅读(2452) 评论(0) 推荐(0) 编辑
摘要: InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便。 influxdb的单机版是开源的,而集群版是商业版,influxdb被设计 阅读全文
posted @ 2020-01-28 09:50 luoxn28 阅读(4636) 评论(0) 推荐(0) 编辑
摘要: Namespace是将内核的全局资源做封装,使得每个Namespace都有一份独立的资源,因此不同的进程在各自的Namespace内对同一种资源的使用不会互相干扰。 目前Linux内核总共支持以下6种Namespace: IPC:隔离System V IPC和POSIX消息队列。 Network:隔 阅读全文
posted @ 2020-01-28 09:48 luoxn28 阅读(1169) 评论(0) 推荐(0) 编辑
摘要: kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用、高扩展性和可预测性的方式来管理容器应用的生命周期。通过k8s,用户可以定义程序运行方式、部署升级策略、动态伸缩容,使得用户以一种更灵活可靠的方式来管理应用程序。 关于k8s,是一种对应用服务的 阅读全文
posted @ 2020-01-20 23:40 luoxn28 阅读(580) 评论(0) 推荐(0) 编辑
摘要: cgroup从2.6.4引入linux内核主线,目前默认已启用该特性。在cgroup出现之前,只能对一个进程做资源限制,比如通过sched_setaffinity设置进程cpu亲和性,使用ulimit限制进程打开文件上限、栈大小等。 cgroups是Linux下控制一个(或一组)进程的资源限制机制, 阅读全文
posted @ 2020-01-12 13:32 luoxn28 阅读(2011) 评论(0) 推荐(0) 编辑
摘要: 学习Docker,首先需要了解Docker基本概念,然后就开始“动手”了(也就是敲Docker命令)。Docker命令较多,这里笔者总结下常用的Docker命令,方便小伙伴们查阅。 Docker是基于go语言开发,底层技术(Linux下)主要基于cgroups、namespace以及联合文件技术实现 阅读全文
posted @ 2020-01-02 12:41 luoxn28 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 分区,又称为分片,是解决大数据存储的常见解决方案,大数据存储量超过了单节点的存储上限,因此需要进行分区操作将数据分散存储在不同节点上,通常每个单个分区可以理解成一个小型的数据库,尽管数据库能同时支持多个分区操作;分区引入多分区概念,可以同时对外服务提高性能。 常常和分区一并提及的概念是复制,分区通常 阅读全文
posted @ 2020-01-01 17:40 luoxn28 阅读(1841) 评论(0) 推荐(0) 编辑
摘要: 服务和数据的高可用性本质上是靠“复制”来解决的,比如服务通过集群部署多台机器来完成,数据通过冗余的多副本机制来完成。对于服务来说,只需要部署多个实例即可,特别是无状态服务,常见的微服务(dubbo/spring cloud)几乎都是通过集群部署对外提供服务能力,更进一步的还可使用k8s+docker 阅读全文
posted @ 2019-12-30 13:00 luoxn28 阅读(916) 评论(1) 推荐(3) 编辑
摘要: 很多小伙伴所在的公司是基于Dubbo来构建技术栈的,日常开发中必不可少要写dubbo单测(单元测试),如果单测数据依赖已有的外部dubbo服务,一般是mock数据,如果数据比较复杂,其实mock数据也是一个不小的工作量。那有没有更好的单测方式来代替我们完成”mock“数据功能呢,这时可以借助dubb 阅读全文
posted @ 2019-12-22 21:40 luoxn28 阅读(2190) 评论(1) 推荐(1) 编辑
摘要: 本文主要讨论Netty NioEventLoop原理及实践,关于Netty NioEventLoop,首先要知道NioEventLoop是什么,为什么它会是Netty核心Reactor处理器,实现原理是什么,进而再讨论Netty对其的实现及使用上我们可以学到哪些。 EventLoop是一个React 阅读全文
posted @ 2019-12-01 10:25 luoxn28 阅读(1010) 评论(1) 推荐(0) 编辑
摘要: Pipeline和ChannelHandler是Netty处理流程的重要组成部分,ChannelHandler对应一个个业务处理器,Pipeline则是负责将各个ChannelHandler串起来的“容器”,二者结合起来一起完成Netty的处理流程。 Pipeline 每个channel内部都会持有 阅读全文
posted @ 2019-11-30 19:54 luoxn28 阅读(1379) 评论(0) 推荐(0) 编辑
摘要: 编者注:Netty是Java领域有名的开源网络库,特点是高性能和高扩展性,因此很多流行的框架都是基于它来构建的,比如我们熟知的Dubbo、Rocketmq、Hadoop等。本文就netty线程模型展开分析讨论下 : ) IO模型 BIO:同步阻塞IO模型; NIO:基于IO多路复用技术的“非阻塞同步 阅读全文
posted @ 2019-11-17 08:51 luoxn28 阅读(28401) 评论(1) 推荐(2) 编辑