Muser

弱小和无知不是生存的障碍,傲慢才是


  • Home

  • About

  • Tags

  • Categories

  • Archives

  • Notes

  • Commonweal 404

CDN经典算法初探

Posted on 2019-11-01 | Last modified: 2019-11-01 | In Work
Words count: 153
CDN经典算法初探Overview Global Load Balancing 全局负载均衡是指将客户端的请求映射到CDN某个集群的过程,是集群粒度的调度。客户端的请求可以用一个二元组来表示:<ip address prefix, traffic class>,第一项是一组ip地址,组内的ip地址在地域上是相近的,或者说将它们调度到某个集群所获效益是相似的;第二项代表流量类型,可以是音视频、网页、应用数据等。 Local Load Balancing Caching 参考:http://www.sigcomm.org/sites/default/files/ccr/papers/2015/July/0000000-0000009.pdf
Read more »

ssh认证原理

Posted on 2019-10-09 | Last modified: 2019-10-09 | In Work
Words count: 1,286
ssh认证原理通过ssh从客户端登入服务端需要身份认证,ssh主要提供了密码认证和公钥认证两种方式。 下图是PAC的ssh连接管理界面,可以看Authentication一栏下的User/Password和Private Key,前者就是密码认证,后者其实就是公钥认证,只不过需要告诉PAC在哪里可以找到私钥。 密码认证密码认证需要ssh client携带用户名和密码传递给ssh server,server端需要配置PasswordAuthentication为yes,否则不允许通过密码认证登录服务器。 生产环境下建议关闭密码认证: 虽然用户名和密码都被session key加密后再传输给server端,但是依然有被暴力破解的风险; 如果集群中所有机器都使用相同的密码,那么一台机器被破解整个集群将被全部破解; 如果不同机器使用不同的密码,那么给维护带来困难,客户端需要记住不同机器的密码,这也势必导致设置的密码十分简单,增大了被破解的风险。 登录命令: 1234# -l 指定用户名# -p 指定端口# 输入下面的命令后根据提示输入密码就可以登录 ...
Read more »

elastic-job事件追踪改造

Posted on 2019-08-18 | Last modified: 2019-08-22 | In Work
Words count: 734
在整个作业执行的过程中,elastic-job对作业的状态、执行情况做了事件追踪,用于查询、统计和监控。事件总线JobEventBus中注册了两种事件,分别是JobStatusTraceEvent和JobExecutionEvent,分别对应作业状态和触发来源。elastic-job会在作业执行过程中向事件总线实时发送事件追踪信息,JobEventBus接收追踪信息后会写入DB。 问题JobStatusTraceEvent和JobExecutionEvent分别对应mysql中的两张表,可能会带来一些问题: 每个作业执行到不同阶段都会将追踪事件写入db,而elastic-job并没有提供定期清理功能,除非手动删除,否则两张表将会慢慢地变得非常庞大。 事件追踪表对业务有一定程度的入侵。如果事件追踪表与业务表使用不同的数据源,那么在业务代码里就要为事件追踪单独配置一个数据源;而跟业务使用同一个数据源显然是不合理的。 elastic-job每接入一个业务工程,都要配置一个数据源,接入麻烦,而且不易于管理。 改造针对上面的问题,改造思路主要是不要写 ...
Read more »

分布式链路追踪zipkin&brave

Posted on 2019-08-18 | Last modified: 2019-08-18 | In Work
Words count: 635
背景在微服务系统中,各个微服务之间通过http、rpc等方式相互调用,形成了一个调用网络。当微服务系统逐渐庞大,有成百上千个微服务,这个调用网络就会变得非常庞杂。为了能够知道一次请求经过了哪些服务,经过的先后顺序是怎样的,以及在每个服务停留了多长时间,我们需要一个调用链路的追踪工具来帮我们收集这些信息,以便于理清服务链路、定位服务的短板所在。 zipkinzipkin就是一个这样的追踪工具。zipkin是典型的C/S架构,zipkin-client负责埋点、采样,将调用轨迹发送给zipkin-server,zipkin-server负责收集数据并存储,再暴露API给Web UI,进行调用链路的展示。 zipkin-server包含四个组件,分别是collector、storage、search、web UI collector 就是信息收集器,作为一个守护进程,它会时刻等待客户端传递过来的追踪数据,对这些数据进行验证、存储以及创建查询需要的索引。 storage 是存储组件。zipkin 默认直接将数据存在内存中,此外支持使用Cassand ...
Read more »

分布式数据库下的大表分页查询

Posted on 2019-08-18 | Last modified: 2019-08-18 | In Work
Words count: 870
我们对外提供的/video/list接口会对某用户下所有的视频列表进行分页查询,而vod_video表是一个具有亿级数据量的大表,任何一个对此表的查询都应该慎重对待。 分布式数据库大表查询的常见问题vod_video表的schema像这样: 1234567891011121314151617CREATE TABLE `vod_video` ( `vid` bigint(20) NOT NULL COMMENT '视频ID,自增主键', `video_name` varchar(256) DEFAULT NULL COMMENT '视频文件名称', `description` varchar(256) DEFAULT NULL COMMENT '视频简介', `duration` bigint(20) DEFAULT NULL COMMENT '视频时间长度(秒)', `width` int(11) DEFAULT '0' COMMENT '视频宽度', `height` int(11) DEFAULT '0' COMMENT '视频高 ...
Read more »
123…12
Muser

Muser

Coding While Thinking

60 posts
6 categories
67 tags
RSS
Search
© 2020 Muser | Site words count: 55.0k
Powered by Hexo
|
Theme — NexT.Muse