- 博客(18)
- 收藏
- 关注
转载 微服务注册中心的选型和思考
概述在微服务时代,注册中心越来越被重视。服务治理逐渐跟业务服务并驾齐驱。所以本文想对注册中心进行体系化探索。注册中心,起源于分布式时代。不管是水平拆分架构,或者垂直拆分架构,对于多...
2020-02-29 09:41:50 148
转载 如此火爆的ZooKeeper,到底如何选主?
前言前面一篇文章我们已经给大家讲解了ZooKeeper的核心的原理,这一篇我们重点分析ZooKeeper的Leader选举算法。Leader的选举是ZooKeeper的最重要技术之...
2020-02-28 12:44:59 81
转载 世界最优秀的分布式文件系统架构演进之路
戳蓝字“技术原始积累”关注我们哦!前言Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行...
2020-02-27 08:00:00 139
转载 这么流行的ZooKeeper,原来是这样设计的!
戳蓝字“技术原始积累”关注我们哦!为什么会有ZooKeeper我们知道要写一个分布式应用是非常困难的,主要原因就是局部故障。一个消息通过网络在两个节点之间传递时,网络如果发生故障,发送...
2020-02-26 10:39:32 107
转载 7 种 JVM 垃圾收集器,看完我跪了。。
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会...
2020-02-25 09:38:21 397
原创 GoLang并发编程精简教程
一、前言Go语言在设计时,Java和C ++是编写服务器程序最常用的语言(至少在Google是这样),这是因为使用这些语言可以高效的开发。但是Go设计者们觉得像Java和C++这些语言需...
2020-02-22 08:00:00 521
原创 Go并发编程-实战(一)
一、前言本节我们来看下如何使用通道来解决多goroutine下并发安全的,这里我们借助go官网的一个轮询url列表并发起http请求的例子来进行讲解。这个例子可以很好的说明通过通信来共享...
2020-02-21 08:00:00 911
原创 Go并发编程-Context包
一、前言在Go服务器中,对于每个新来的请求都会开启新的goroutine来进行处理,每个请求处理器通常又会开另外的新goroutine来访问后端服务(比如数据库和rpc服务)。处理每个请...
2020-02-20 08:33:00 210
原创 Go并发编程-通道的happen-before语义
一、前言在go中通道是用来解决多个goroutines之间进行同步的主要措施,在多个goroutines中,每个对通道进行写操作的goroutine都对应着一个从通道读操作的gorou...
2020-02-19 19:33:49 791
原创 Go并发编程-通道与timer包
在go并发编程中time包是比较常用的,比如执行一个需要在指定时间内完成的任务,可以使用time包结合通道来做,比如使用time包的定时器用来做超时等待。//1var timeout ...
2020-02-18 09:55:22 220
原创 Go并发编程-Channel
一、前言传统的线程模型,比如经常使用Java、C++、Python编程的时候,需要多个线程之间通过共享内存(比如在堆上创建的共享变量)来通信。这时候为保证线程安全,多线程共享的数据结构需...
2020-02-17 12:27:15 209
原创 Go并发编程-WaitGroup
一、前言go语言类似Java JUC包也提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁、CAS、原子变量操作类。相比Java来说go提供了独特的基于通道的同步措施。本...
2020-02-16 12:49:50 302 1
原创 Go并发编程-条件变量
一、前言go语言类似Java JUC包也提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁、CAS、原子变量操作类。本节我们先来看看go中的条件变量,在java中条件变量...
2020-02-07 08:30:00 264
原创 Go并发编程-读写锁
一、前言go语言类似Java JUC包也提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁、CAS、原子变量操作类。本节我们先来看看go中读写锁,读写锁相比互斥锁来说并发...
2020-02-05 19:42:41 3350 1
原创 Go并发编程-互斥锁
一、前言go语言为了保证多goroutine对同一个共享资源进行并发读写,提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁、CAS、原子变量操作类,本节我们先来看看go...
2020-02-04 12:26:19 863
原创 Go并发编程-runtime包
一、前言Go的运行时包runtime中包含了一些列的可以设置go运行时的环境的函数,比如运行最大有多少逻辑处理器(P),最多可以创建多少OS线程(M)等。二、运行时环境设置函数runti...
2020-02-03 21:51:18 1113
原创 Go并发编程-goroutine轻量级的线程
一、前言在go中,使用go关键字跟上一个函数,就创建了一个goroutine,每个goroutine可以认为是一个轻量级的线程,其占用更少的堆栈空间,并且其需要的堆栈空间大小可以随着程序...
2020-02-02 10:18:35 414
原创 Go并发编程-内存模型
一、前言Go语言的内存模型规定了一个goroutine可以看到另外一个goroutine修改同一个变量的值的条件,这类似java内存模型中内存可见性问题。当多个goroutine并发存取...
2020-02-01 08:00:00 281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人