文档章节

总结:优秀设计技巧整理

浮躁的码农
 浮躁的码农
发布于 09/17 14:38
字数 531
阅读 13
收藏 0

1、查询接口设计

入参:以tag的方式,如propertyKey,propertyValue

解释:

  • propertyKey即查询的条件字段是什么?sn?uuid?ip?
  • propertyValue即条件值,如果是uuid的话,条件值是xxxx-xxxx-xxxx-xxxx

后端sql:where 1 = 1 and propertyKey = propertyValue

2、Raft协议随机超时机制

raft协议中选举leader,为了让leader快速选出,采用随机超时机制。

  1. 在每个Followers上设定的Leader超时时间是在一个范围内随机的。这样可以尽量让Followers不在同一时间发起Leader选举。

  2. 每个Candidate发起投票后,如果在一段时间内没有任何Candidate称为Leader则,需要重新发起Leader选举。这段等待的时间,在每个Candidate上也是随机的。从而保证不会有多个Candidate同时重新发起Leader选举。

3、Kafka消息批量发送机制

生产者的send()方法是异步的,添加消息到缓冲区等待发送,并立即返回。生产者将单个的消息批量在一起发送来提高效率。

4、ZooKeeper的临时节点

当与客户端断开后,临时节点就会删除,这可以解决很多问题,如:

4.1、解决分布式锁问题,假设节点被加了锁,如果客户端加了锁之后断开,则永远锁住了;

4.2、每台HBase的region服务器在Zookeeper中注册一个自己的临时节点,主服务器会利用这些临时节点来发现可用服务器;

4.3、解决一些垃圾数据带来的各种问题;

5、Redis的超时机制

5.1、大大提升了内存的有效存储;

5.2、让业务方便的去平衡数据的实时性查询性能

另外,有很多其它系统有超时机制,如分布式一致性协议的3PC,Raft协议随机超时机制等

6、

 

 

© 著作权归作者所有

浮躁的码农

浮躁的码农

粉丝 76
博文 916
码字总数 179651
作品 0
松江
程序员
私信 提问
[Share]2008年国外最佳Web设计/开发技巧、脚本及资源总结

今天是2008年的最后一天,彬Go为大家奉上今年的最后大餐,这篇文章将为大家总结08年国外一些比较不错的前端开发相关的教程、技巧、脚本、实 例及工具资源等,有一些是曾经彬Go发表过的翻译文...

吞吞吐吐的
2017/10/05
0
0
一言不合就学习:PHP优秀学习文章资料汇总整理

发现一个不错的网站,DevStore,移动互联网企业运营解决方案整合平台,产品前期-设计阶段-开发测试-推广阶段-运维运营,各个阶段都有涉及。 下面整理一些针对包括程序员、运营、设计师等在内...

FrancisSoung
2016/08/25
0
0
UG编程小白?看完这节,你绝不再是小白!

  大家好,我还是莫莫,本节莫莫为大家带来的是有关于UG编程的各类经验、技巧、方法大总结,你们准备好接收本节的内容了嘛~   UG编程总结   UG软件是一款集CAD、CAM、CAE于一体的功能强...

UG数控编程
2018/04/19
0
0
如何发现优秀的开源项目?

之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是 还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,GitHub 其中...

科比可比克
2016/10/04
139
0
从0开始学习 GitHub 系列之「08.如何发现优秀的开源项目」

之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是 还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,GitHub 其中...

googdev
2016/07/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
今天
4
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
6
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
8
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
5
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部