Dev

收录了 8 篇文章 · 0 人关注

  • 用consul做grpc的服务发现

    用consul做grpc的服务发现与健康检查 consul 服务发现与负载均衡 当server端是集群部署时,client调用server就需要用到服务发现与负载均衡。通常有两总方式: 一种方式是在client与server之间加代理,由代理来做负载均衡 一种方式是将服务注册到一个数据中心,client通过数据中心查询到所有服务的节点信息,然后自己选择负载均衡的策略。 第一种方式常见的就是用nginx给http服务做负载均衡,client端不直接与server交互,而是把请求并给nginx,ng...

  • 大型互联网必备架构技术:高性能+分布式+开源框架+微服务

    Java架构师,应该算是一些Java程序员们的一个职业目标了吧。很多码农码了五六年的代码也没能成为架构师。在这里分享5个专题来提高大家的编程能力:开源框架解析-高性能架构-微服务架构-工程化-大型电商项目实战。开源框架解析专题阅读、分析源码是程序员最基本的码代码能力也是码农的根本所在,学习经典源码中所用到的经典设计思想及常用设计模式,能够帮你了解大牛是如何写代码的,从而吸收大牛的代码功力。在阿里面试中,MyBatis,Spring等框架的底层原理是经常会被问到的​高性能架构专题阿里巴巴有很多大团...

  • Go日志框架zap与lumberjack简单配置封装

    简介 zap zap是uber开源的Go高性能日志库 https://github.com/uber-go/zap lumberjack Lumberjack用于将日志写入滚动文件。zap 不支持文件归档,如果要支持文件按大小或者时间归档,需要使用lumberjack,lumberjack也是zap官方推荐的。 https://github.com/natefinch/lumberjack 简单使用 工程结构 项目结构.png 核心代码 LogCore /** * 获取日志 * filePath...

  • golang 并发安全Map以及分段锁的实现

    涉及概念 并发安全Map 分段锁 sync.Map CAS ( Compare And Swap ) 双检查 分断锁 type SimpleCache struct { mu sync.RWMutex items map[interface{}]*simpleItem }     在日常开发中, 上述这种数据结构肯定不少见,因为golang的原生map是非并发安全的,所以为了保证map的并发安全,最简单的方式就是给map加锁。    之前使用过两个本地内存缓存的开源库, gcache, cach...

  • 扣丁学堂解析golang并发安全Map以及分段锁的实现方法

    今天扣丁学堂区块链培训老师给大家介绍一篇关于golang 并发安全Map以及分段锁的实现方法详解,首先涉及概念:并发安全Map、分段锁、sync.Map、CAS(CompareAndSwap)、双检查等下内容,下面我们一起来看一下吧。 分断锁type SimpleCache struct { mu sync.RWMutex items map[interface{}]*simpleItem}在日常开发中,上述这种数据结构肯定不少见,因为golang的原生map是非并发安全的,所以为了保证map的...

  • 使用drone和gogs搭建自己的CI/CD系统

    drone是一个基于容器的本地持续交付平台,和Jenkins是差不多的,然后配合轻量级的gogs来作为git管理,都是基于golang开发的很符合我的需求,我们来把它们结合作为一个完整的CI、CD平台。 首先我们要先安装docker,上次的篇幅我们已经说过了我就不赘述了。 需要的东西有:linux,docker,docker-compose,drone,gogs,git等。 安装gogs和drone 配合荣锋亮大哥的yml文件和docker-compose我们可以很容易安装他们: version...

  • golang的sync.mutex

    文章计划分为以下几部分: 1.什么是锁,锁的粒度,一般锁的实现,常见锁的类型 并发下的同步和互斥 原子操作、信号量、互斥量、读写信号量、自旋锁 2.golang锁的设计思想与演进 3.golang锁设计的底层基础简介 4.golang锁的代码实现与一些流程图 5.吐槽~ 参考资料: 设计演进http://www.cnblogs.com/niniwzw/archive/2013/06/24/3153955.html 一、什么是并发锁 高并发下,如何保证并行的多线程同时访问一片共享内存时不出现问题,...

  • 百亿互金平台技术栈大起底

    技术栈(technology stack)就是一个公司的透视镜,从某些程度上可以展示出公司的技术实力。从技术桟也可以看出整个平台的技术要素,平台大小规模等,今天来给大家分享我司的技术全家桶。 总览 闲来无事就想着还可以总结总结什么,平台架构、事故解决方案等以前都写过了,这次就主要写写我们都用过那些技术吧。我分了五块内容来介绍我们的技术栈:前端、后端、中间件、运维和工具。画了一个思维导图方便大家整体预览。 点击这里看大图 接下来就展开来说 前端 我司的前端比较简单主要分为了三大块:PC前端、移动端...