自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术原始积累

记录成长的点点滴滴,以及比较好的技术与人生为人处世的文章

  • 博客(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 519

原创 Go并发编程-实战(一)

一、前言本节我们来看下如何使用通道来解决多goroutine下并发安全的,这里我们借助go官网的一个轮询url列表并发起http请求的例子来进行讲解。这个例子可以很好的说明通过通信来共享...

2020-02-21 08:00:00 911

原创 Go并发编程-Context包

一、前言在Go服务器中,对于每个新来的请求都会开启新的goroutine来进行处理,每个请求处理器通常又会开另外的新goroutine来访问后端服务(比如数据库和rpc服务)。处理每个请...

2020-02-20 08:33:00 209

原创 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 219

原创 Go并发编程-Channel

一、前言传统的线程模型,比如经常使用Java、C++、Python编程的时候,需要多个线程之间通过共享内存(比如在堆上创建的共享变量)来通信。这时候为保证线程安全,多线程共享的数据结构需...

2020-02-17 12:27:15 208

原创 Go并发编程-WaitGroup

一、前言go语言类似Java JUC包也提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁、CAS、原子变量操作类。相比Java来说go提供了独特的基于通道的同步措施。本...

2020-02-16 12:49:50 301 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 3348 1

原创 Go并发编程-互斥锁

一、前言go语言为了保证多goroutine对同一个共享资源进行并发读写,提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁、CAS、原子变量操作类,本节我们先来看看go...

2020-02-04 12:26:19 862

原创 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 413

原创 Go并发编程-内存模型

一、前言Go语言的内存模型规定了一个goroutine可以看到另外一个goroutine修改同一个变量的值的条件,这类似java内存模型中内存可见性问题。当多个goroutine并发存取...

2020-02-01 08:00:00 281

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除