微服务经验分享&杂谈
微服务架构 一个应用,拆分为多个小服务,这样的架构方式,就是微服务架构 微服务核心要素 微服务架构实例 我们拿一个电商贷款场景(如京东白条)划分微服务举例,以便后面的描述。 购买场景主要有如下关键服务。 账户服务:负责管理用户基本信息,如姓...
微服务架构 一个应用,拆分为多个小服务,这样的架构方式,就是微服务架构 微服务核心要素 微服务架构实例 我们拿一个电商贷款场景(如京东白条)划分微服务举例,以便后面的描述。 购买场景主要有如下关键服务。 账户服务:负责管理用户基本信息,如姓...
golang 单元测试 单元测试介绍 为了保证代码的质量,很多公司都会要求写单元测试。这里介绍两个指标, 1、 函数覆盖率:函数调用个数/函数个数,通常要求100% 2、 行覆盖率:走到的行的个数/总函数,通常要求>60% 通过单元测试,我...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
golang调度模型 模型总揽 核心实体 Goroutines (G) golang调度单元,golang可以开启成千上万个g,每个g可以理解为一个任务,等待被调度。其存储了goroutine的执行stack信息、goroutine状态以及...
mysql简介 mysql是关系型数据库RDBMS(Relational database management system)的典型代表,也是后台开发中打交道最多的一个组件。 go-sql-driver访问数据库 插入操作 func In...
什么是协程栈 每个协程都需要有自己的栈空间,来存放变量,函数,寄存器等信息。所以系统需要给协程分配足够的栈空间。 栈分配方式 固定大小的栈 每个协程都有相同的,固定大小的栈。 优点:实现简单; 缺点:每个协程需要的栈空间不尽相同,如果一概而...
协程 协程是golang最重要的一个特性。在协程出现之前,线程被作为调度的最小单位。协程可以理解是一种用户态,逻辑层面的线程。 通过协程,我们将很容易地实现高并发。 加入你要做三件事,假设要执行a,b,c三个方法。代码该怎么写?平常我们的写...
背景 golang 不像c++,已经有stl这种通用的高级数据结构。所以如果想要栈,队列,链表等数据结构需要自己实现。 下面介绍下常用的几种数据结构 链表 单链表是一种链式存取的数据结构,一个链表由一个或者多个节点组成,每个节点有一个指针指...
从一个问题说起 五年前在tx的时候,发现分页场景下,mysql请求速度非常慢。数据量只有10w的情况下,select xx from 单机大概2,3秒。 我就问我导师为什么,他反问“索引场景,mysql中获得第n大的数,时间复杂度是多少?”...
gin介绍 gin是一个 Web应用框架,拥有良好的性能和简单明了的接口。同时支持中间件,类型绑定等实用功能。 为什么要用gin 在实际开发中,很少会直接实用http.Server。而自己搭建框架有一定成本,同时没有经过系统的校验,容易出现...
概要 本章介绍golang基本的语法。golang语法相对来说比较简单,掌握本章内容即可满足语法方面的基本开发需要。 局部变量定义 func test1() { var a int // 定义临时变量a } 全局变量定义 var a int...