- 博客(10)
- 收藏
- 关注
原创 大厂面试必问:如何设计一个扛高并发的系统?
在短时间内同时有大量用户请求访问系统,需要系统能够快速、稳定地响应这些请求。CDN是指内容分发网络,是一种将内容分发到全球各地的网络架构。CDN 可以将网站的静态资源(如图片、CSS、JavaScript 等文件)缓存到全球各地的服务器上,当用户请求这些资源时,可以从离用户最近的服务器上获取资源,从而提高资源的访问速度和用户的访问体验。如何设计一个扛高并发的系统,是每个上进程序员都需要考虑的问题。在设计高并发系统时,可以从上面讲的 8 个方面去考虑,从而实现系统的高并发处理能力和可靠性。
2023-08-05 17:57:40
119
原创 由浅入深的介绍扣减业务中的一些高并发构建方案(中)
在上一讲的实现方案里,我们讨论采用数据库的扣减实现方案,如果以常规的机器或者Docker来进行评估,此方案将来实现单机级的TPS。之所以介绍,是要告诉你架构是面向业务功能、成本、实现难度、时间等因素的取舍,而不是绝对的追求高性能、高并发及高可用等非功能性指标。另外。在上一讲里介绍的扣减业务的技术实现方案有一定的需求基础介绍了。
2023-07-30 16:02:40
119
原创 由浅入深的介绍扣减业务中的一些高并发构建方案(上)
在后台开发领域,高并发的扣减一直是比较热门的话题,在各类技术博客、大会分享以及面试问题中出现频率都非常高。可见它的重要性和技术知识点的密集性。此次主题的技术分享将分上中下三节来介绍,将由浅入深,由简至繁的介绍扣减业务中的一些高并发构建方案,这些方案中实现复杂度、支撑的性能和并发的量级有所区别。
2023-07-30 15:58:30
108
原创 etcd 一个“功成名就”的组件
相对于 Zookeeper 和 Consul,Etcd 的 API 更简单、更容易使用,能够快速的构建分布式系统,适用于微服务构建。在日志复制阶段,Leader 节点负责将提交的事务复制到所有的 Follower 节点上,以确保整个集群中的数据一致性。另外,Etcd 还提供了监视和通知机制,当存储的数据发生变化时,可以自动触发事件通知。本文将介绍 Etcd 的主要功能及应用场景,并重点介绍 Etcd 基于 RAFT 的一致性算法,以及 Etcd v3 存储、Watch 和过期机制。
2023-04-05 18:14:10
190
2
原创 CGO编程?其实没有想象的那么难!
快速上手 CGO 程序 真实的 CGO 程序原理一般都比较复杂,但是在使用层面上来说,其实没有想象的那么难。今天我们可以由浅入深来看看一个 CGO 程序该是怎么样实现的?如果要构造一个简单的 CGO 程序,首先要忽视一些复杂的 CGO 特性,下面我们来快速上手一个 CGO 程序。基于 C 标准库实现最简单的 CGO 程序下面是我们构建的最简 CGO 程序:// hello.gopackage main//#include <stdio.h>import&
2022-12-21 15:00:17
415
1
原创 ES PUT data: Rejecting mapping update to [x] as the final mapping would have more than 1 type [x, y]
目录ES 添加数据报错原因解决方法ES 添加数据报错原因ElasticSearch 在6.x版本开始调整了, 一个index只能存储一种type。解决方法type只要用_doc即可。欢迎关注公众号:【Go键盘侠】,一起交流学习。...
2021-07-24 15:24:56
362
原创 Golang CRUD 操作 ElasticSearch
ElasticSearch 安装教程这里不再赘述,个人建议用 Docker 安装比较方便。可以参考:docker 安装 ES 教程Golang CRUD 操作 ElasticSearch demo 如下:package mainimport ( "context" "fmt" "log" "os" "reflect" "gopkg.in/olivere/elastic.v7")var client *elastic.Client
2021-07-24 11:11:56
153
1
原创 Golang使用Docker中的ElasticSearch,panic: no active connection found: no Elasticsearch node available
目录Docker和ElasticSearch版本golang 初始化使用 es 报错初始化代码运行发生 panic解决方法Docker和ElasticSearch版本docker versiones versiongolang 初始化使用 es 报错初始化代码//初始化func init() { errorlog := log.New(os.Stdout, "[INIT APP] ", log.LstdFlags) var err..
2021-07-24 10:18:42
751
2
原创 记一次工作中的代码优化(C++)
背景及优化原因最近做一个需求涉及到改动原来同事写的模块代码; 写的代码有点搓,基本上给我的感觉就是:代码能跑、不出问题就行; 有事可做,减少失业率。优化前:原来代码主要需要优化的代码如下:// ======== set 转 vector ========std::set<int64_t>::iterator it;for(it = setSupplierSkuIdList.begin(); it != setSupplierSkuIdList.end(); it++){
2021-03-26 22:48:27
662
原创 SOAR一个对SQL进行优化和改写的自动化工具
# 前言今天给大家分享一个在平时开发中会用得到的工具,主要是用来对SQL语句进行检查、优化和改写,从而对后台查数据库的性能有一定的提升。# 主要功能特点- 目前只支持 MySQL 语法族协议的SQL优化- 支持基于启发式算法的语句优化- 支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT)- 支持EXPLAIN信息丰富解读- 支持SQL指纹、压缩和美化- 支持同一张表多条ALTER请求合并- 支持自定义规则的SQL改写# 安装使用- 下载二
2021-03-26 22:31:10
495
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人