三种分布式锁的实现(转载)

1. 概述 随着互联网技术的不断发展,用户量的不断增加,越来越多的业务场景需要用到分布式系统。 分布式系统有一个著名的理论CAP,指在一个分布式系统中,最多只能同时满足下面三项中的两项: 一致性(Consistency):在分布式系统中的所有数据备份,在同一时刻是否同样的值(等同于所有节点访问同一份最新的数据副本) 可用性(Av… 阅读更多 »三种分布式锁的实现(转载)

Redis分布式锁-golang实现

分布式事务锁通常用在多台机器上运行的程序需要进行状态同步的场景下,例如转账业务、分布式的扫描限速场景等; 如果是一个进程里面的共享资源,比如一个全局变量,也就通过代码内的锁进行上锁操作 目前微服务,分布式计算等盛行,所以一个项目可能会在很多云服务器或容器(docker)上,每个进程都是系统级别的隔离,很多时候资源都是在其他机子上… 阅读更多 »Redis分布式锁-golang实现

Redis集群模式

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis是一款优秀的NoSQLDB,它在2.x版本不支持集群,集群必须通过外部手段集成;但由于集成方法过于复杂,研发测试和运维要求较高。新版本Redis3.x发布后,自带集群功能,降低了分… 阅读更多 »Redis集群模式

Anycast概述

1. 通信方式及IP类型 Anycast与Multicast,Unicast,Broadcast是四种不同的IP通信方式。按照通信方式,也可以将我们熟知的IP地址类型分为如下几种:Unicast IP,Multicast IP,Broadcast IP与Anycast IP。 1.1. Unicast IP 在客户端与媒体服务器… 阅读更多 »Anycast概述

Golang模板解析和渲染

1. 模板渲染 Golang为模板操作提供了丰富的支持,嵌套模板、导入函数、表示变量、迭代数据等都很简单。若需要比CSV数据格式更复杂的电脑关系,模板可能是一个不错的解决方案。模板的另一个 应用是网站的页面渲染。 Golang内置text/template和html/template两个模板库,html/template库为HT… 阅读更多 »Golang模板解析和渲染

Golang go-restful框架(转载)

1. 一个 RESTful API 框架需要什么? 从应用程序开发的角度来看,RESTful API 的本质是一个 Web Application,而 RESTful API 框架就是实现这个 Web Application 所封装的一些列工具库,使开发者可以忽略底层实现的复杂度,专注以自身 Application 的逻辑设计。… 阅读更多 »Golang go-restful框架(转载)