1Redis Cluster总览
11 设计原则和初衷
在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子。最核心的目标有三个:
性能:这是Redis赖以生存的看家本领,增加集群功能后当然不能对性能产生太大影响,所以Redis采取了P2P而非Proxy方式、异步复制、客户端重定向等设计,而牺牲了部分的一致性、使用性。
水平扩展:集群的最重要能力当然是扩展,文档中称可以线性扩展到1000结点。
可用性:在Cluster推出之前,可用性要靠Sentinel保证。有了集群之后也自动具有了Sentinel的监控和自动Failover能力。
12 架构变化与CAP理论
Redis Cluster集群功能推出已经有一段时间了。在单机版的Redis中,每个Master之间是没有任何通信的,所以我们一般在Jedis客户端或者Codis这样的代理中做Pre-sharding。按照CAP理论来说,单机版的Redis属于保证CP(Consistency & Partition-Tolerancy)而牺牲A(Availability),也就说Redis能够保证所有用户看到相同的数据(一致性,因为Redis不自动冗余数据)和网络通信出问题时,暂时隔离开的子系统能继续运行(分区容忍性,因为Master之间没有直接关系,不需要通信),但是不保证某些结点故障时,所有请求都能被响应(可用性,某个Master结点挂了的话,那么它上面分片的数据就无法访问了)。
有了Cluster功能后,Redis从一个单纯的NoSQL内存数据库变成了分布式NoSQL数据库,CAP模型也从CP变成了AP。也就是说,通过自动分片和冗余数据,Redis具有了真正的分布式能力,某个结点挂了的话,因为数据在其他结点上有备份,所以其他结点顶上来就可以继续提供服务,保证了Availability。然而,也正因为这一点,Redis无法保证曾经的强一致性了。这也是CAP理论要求的,三者只能取其二。
关于CAP理论的通俗讲解,请参考我的译文《可能是CAP理论的最好解释 》。简单分析了Redis在架构上的变化后,咱们就一起来体验一下Redis Cluster功能吧!
2Redis集群初探
Redis的安装很简单,以前已经介绍过,就不详细说了。关于Redis Cluster的基础知识之前也有过整理,请参考《Redis集群功能预览》。如果需要全面的了解,那一定要看官方文档Cluster Tutorial,只看这一个就够了!
21 集群配置
要想开启Redis Cluster模式,有几项配置是必须的。此外为了方便使用和后续的测试,我还额外做了一些配置:
绑定地址:bind 192168XXXXXX。不能绑定到127001或localhost,否则指导客户端重定向时会报”Connection refused”的错误。
开启Cluster:cluster-enabled yes
集群配置文件:cluster-config-file nodes-7000conf。这个配置文件不是要我们去配的,而是Redis运行时保存配置的文件,所以我们也不可以修改这个文件。
集群超时时间:cluster-node-timeout 15000。结点超时多久则认为它宕机了。
槽是否全覆盖:cluster-require-full-coverage no。默认是yes,只要有结点宕机导致16384个槽没全被覆盖,整个集群就全部停止服务,所以一定要改为no
后台运行:daemonize yes
输出日志:logfile “/redislog”
监听端口:port 7000
配置好后,根据我们的集群规模,拷贝出来几份同样的配置文件,唯一不同的就是监听端口,可以依次改为7001、7002… 因为Redis Cluster如果数据冗余是1的话,至少要3个Master和3个Slave,所以我们拷贝出6个实例的配置文件。为了避免相互影响,为6个实例的配置文件建立独立的文件夹。
[root@8gVm redis-304]# pwd
/root/Software/redis-304
[root@8gVm redis-304]# tree -I "log|nodes" cfg-cluster/
cfg-cluster/
├── 7000
│ └── redisconf7000
├── 7001
│ └── redisconf7001
├── 7002
│ └── redisconf7002
├── 7003
│ └── redisconf7003
├── 7004
│ └── redisconf7004
└── 7005
└── redisconf7005
6 directories, 6 files
22 redis-trib管理器
Redis作者应该是个Ruby爱好者,Ruby客户端就是他开发的。这次集群的管理功能没有嵌入到Redis代码中,于是作者又顺手写了个叫做redis-trib的管理脚本。redis-trib依赖Ruby和RubyGems,以及redis扩展。可以先用which命令查看是否已安装ruby和rubygems,用gem list –local查看本地是否已安装redis扩展。
最简便的方法就是用apt或yum包管理器安装RubyGems后执行gem install redis。如果网络或环境受限的话,可以手动安装RubyGems和redis扩展(国外链接可能无法下载,可以从CSDN下载):
[root@8gVm Software]# wget >
1 Grand Piano 现场大钢琴
2 Bright Piano 亮音钢琴
3 Harpsichord 拨弦古钢琴
4 HonkyTonk 酒吧钢琴
5 MidiGrand 华丽midi
6 CP80 击弦电拾音钢琴
7 Cool! GalaxyEP 超酷银河电钢琴
8 HyperTines 超级泰因键盘
9 FunkEP 抑郁电钢琴
10 DX Modern dx摩登电钢琴
11 VenusEP 维纳斯电钢琴
12 Clavi 电翼琴
13 JazzOrgan1 爵士风琴1
14 JazzOrgan2 爵士风琴2
15 RockOrgan1 摇滚风琴
16 PurpleOrg 紫风琴
17 ClickOrgan 旷音风琴
18 BrightDraw 明亮拉杆风琴
19 Theater Organ戏院风琴
20 16'+2'Organ 16'+2'管风琴
21 Tibia 16+4 16+4笛
22 ChapelOrgn1 教堂风琴1
23 PipeOrgan 管风琴
24 ReedOrgan 簧片风琴
25 Musette Accordion缪赛特手风琴
26 Traditional Accordion传统手风琴
27 Bandoneon 班多钮手风琴
28 Harmonica 口琴
29 Classic Guitar 古典吉他
30 FolkGuitar 民间吉他
31 JazzGuitar 超酷爵士吉他
32 60'sClean 60年代纯音
33 12Strings Guitar 12弦吉他
34 Cool! CleanGuitar 超酷纯音吉他
35 OctaveGtr 8度音吉他
36 MutedGuitar 弱音吉他
37 Overdrive 夸张d奏
38 Distortion 失真
39 FingerBass 超酷指d贝司
40 AcoBass 和谐贝司
41 PickBass d拨贝司
42 Fretless 超酷无品贝司
43 SlapBass 打弦贝司
44 Synth Bass 1 合成贝司1
45 HiQBass Hi-Q贝司
46 Dance Bass舞曲贝司
47 String Ensemble 弦乐合奏
48 ChamberStrs 室内弦乐
49 SlowStrings 慢速弦乐
50 TremoloStrs 颤音弦乐
51 SynStrings1 合成弦乐 1
52 PizzStrings 披萨弦乐
53 Viola 中提琴
54 Cello 大提琴
55 Contrabass 低音大提琴
56 Harp 竖琴
57 Banjo 斑鸠五弦琴
58 OrchHit 管弦乐齐奏Choir(合唱)
59 Choir 合唱
60 Vocai Ensemble 合奏组
61 AirChoir 气息合唱
62 VoxHumana 深情的唱音
63 TenorSax 甜美次中音萨克斯
64 AltoSax 甜美中音萨克斯
65 SopranoSax 甜美高音萨克斯
66 BaritoneSax 上低音萨克斯
67 Breathy Tenor Sax 喘息次中音萨克斯
68 Clarinet 单簧管
69 Oboe 双簧管
70 EnglishHorn 英国号
71 Bassoon 巴松管
72 Trumpet 甜美小号
73 Trombone 长号
74 TrbSection 部分管乐组合
75 MutedTrump 弱音小号
76 FrenchHorns 现场法国号
77 Tuba 大号
78 Brass Section 铜管乐器组合
79 Big Band Brass大半铜管组
80 80'sBrass 80年代铜管乐
81 MellowBrass 圆润铜管乐
82 TechnoBrass 扩音快节奏铜管乐
83 SynthBrass 管乐组合
84 Flute 长笛
85 Piccolo 短笛
86 PanFlute 排萧
87 Recorder 竖笛(舌簧八孔直笛)
88 Ocarina 奥卡里那埙(陶制的卵形笛)
89 SquareLead 方波主奏
90 SawLead 锯齿波主奏
91 Analogon 模拟
92 Fargo 远去
93 Stardust 星辰
94 Vinylead 从生主奏
95 Brightness 明亮
96 XenonPad 氙气长音
97 Equinox 春的气息
98 Fantasia 幻想
99 DarkMoon 昏暗的月球
100 Bell Pad贝尔长音
101 Vibraphone 电颤琴
102 Marimba 马林巴琴
103 Xylophone 木琴
104 SteelDrums 钢鼓
105 Celesta 钢片琴
106 MusicBox 音乐盒
107 TubularBell管钟
108 Timpani 定音鼓
109 Er Hu二胡
110 Di Zi笛子
111 Pi Pa琵琶
112 Sitar 印度西塔琴
113 Dulcimer 德西马琴
114 Oud 乌德琴
115 Shamisen 日本三味线
116 Gu Zheng古筝
117 Koto 十三弦日本古筝
118 Kalimba 卡林巴琴
119 Bagpipe 苏格兰风笛
120 Fiddle 小提琴
121 Shanai 山奈
122 StdKit1+Chinese Perc中国打击风琴
123 Octave Piano 八度音钢琴
124 Piano Strings 钢琴弦乐
125 Piano Pad钢琴长音
126 EPPad
127 Octave Strings 八度音弦乐
128 Octave Brass 八度音铜管乐
129 Orchestra Tutti管弦乐队合奏
130 Octave Choir 八度音
131 Jazz Section爵士管弦乐器
132 Flute/Clarinet(长笛和单簧管)
133 Fret Noise 急促的噪声
134 Breath Noise 呼吸音
135 Seashore 海滨
136 Bird Tweet 鸟鸣
137 Telephone Ring 电话铃
138 Helicopter 直升机
139 Applause 鼓掌
140 Gunshot q声
141 Standard Kit1标准鼓组1
142 Standard Kit2标准鼓组2
143 Room Kit室内鼓组
144 Rock Kit摇滚鼓组
145 Electronic Kit电子鼓组
146 Analog Kit模拟鼓组
147 Dance Kit舞曲鼓组
148 Jazz Kit爵士鼓组
149 Brush Kit刷击鼓组
150 Symphony Kit交响鼓组
151 SFX Kit1效果音1
152 SFX Kit2效果音2
153 Sound Kit音效
参考一下吧
T细胞受体是T细胞识别靶细胞表面特异性抗原的蛋白分子,由α链和β链(分别由TRA和TRB编码)或者γ链和δ 链(分别由TRG和TRD编码)构成的异二聚体,主要是以α链和β链构成的异二聚体为主。α链和β链由恒定区(C区)、可变区(V区)、跨膜区及胞质区等组成,V区是特异性识别抗原肽/组织相容性抗原复合物(MHC)的关键部位。α链和β链的V区均含有3个高变区,又称互补决定区(CDR),分别为CDR1,CDR2,CDR3,而β链还有CDR4,CDR3是负责识别processed antigen的主要CDR。
TCR多样性超级丰富,可达10^15 - 10^18种,所以机体才有可能识别任何抗原。那么TCR多样性的产生原因是什么呢?
TCR多样性主要是V(D)J重组导致,这是一个随机过程,而V,D,J基因本身又具有多样性,不同的T细胞克隆经基因重排、发生不同基因片段的连接,产生特定的(VDJ)基因和(VJ)基因,从而表达特异性TCR,这是TCR多样性产生的主要机制。
TCRα链通过VJ重组产生,而β链通过VDJ重组产生;同样地,TCRγ链的产生涉及VJ重组,而TCRδ链通过VDJ重组产生。
正常个体在没有抗原刺激的情况下,TCR基因重排是随机的,T细胞呈多家族、多克隆性特点。接受不同抗原刺激后,TCR V区基因可对抗原产生特异性识别,并使带有这类基因的 T细胞得到优势扩增。
TCR测序方法:
一、以DNA为起始材料,采用多重PCR方法扩增TCRβ CDR3片段:
二、以RNA为起始材料,采用5’RACE方法扩增全长TCR序列:
分析软件: mixcr
这是一款非常好用的TCR测序分析软件,适用于多种实验方法,包括多重PCR,5’RACE以及RNAseq和WES数据,用法也非常简单。
对于多重PCR方法,该软件分析命令如下:
对于5’RACE方法,该软件分析命令如下:
TCR测序主要应用于:
(1)V、D、J基因片段使用频率,CDR3 长度,插入及缺失碱基比例、CDR3氨基酸使用模式,不同抗原受体序列丰度及文库的多样性、克隆性;
(2)检测并了解克隆性增生或抗原特异性的T细胞的特征;
(3)追踪不同时间点疾病相关T细胞克隆变化;
(4)通过TCR氨基酸序列研究不同个体间的共有免疫细胞克隆。
相关概念:
有效TCRβ序列:
CDR3核苷酸序列及CDR3氨基酸序列:
相同TCRβ链CDR3序列称为一种克隆型:每种克隆型的序列数及频率:
多样性:VJ组合、VDJ组合、CDR3核苷酸克隆型数量、CDR3氨基酸克隆型数量:
TCR多样性比较指标:香农熵,数值越接近 0 表明免疫多样性越差,而越接近 1 表明免疫多样性越好。
高克隆序列(Highly enpended clone, HEC),高克隆序列是指表达量超过了总的 CDR3 序列的 05%的 CDR3 序列。
CDR3 氨基酸长度正态拟合:正常机体中, CDR3 氨基酸的长度呈正态分布, 然而在患有疾病的患者中, 其中一些特定的 CDR3 氨基酸序列会出现大量的表达,使 CDR3 氨基酸长度出现明显的差异。
基因使用频率分布:
以上就是关于redis-cluster和redis是一个东西么全部的内容,包括:redis-cluster和redis是一个东西么、trb 的accession number什么意思、雅马哈电子琴英文E333音色中文表,谁有求发一份,sallylph@163.com等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)