自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wohu1104的专栏

本博客为个人工作、学习和生活点滴记录

  • 博客(7)
  • 资源 (10)
  • 收藏
  • 关注

原创 C++ 笔记(28)— C++ 中 NULL和 nullptr 的区别

最近看公司代码的时候发现在判断指针是否为空的时候,有的时候用的是 NULL, 有的时候用的是 nullptr 感觉很奇怪,好奇心驱使我查了下两者的区别,发现还是有很多细节需要学习的。1. NULL 在 C/C++ 中的定义先来看下 C99 是怎么定义 NULL 的:NULL can be defined as any null pointer constant. Thus existing code can retain definitions of NULL as 0 or 0L, but an

2021-05-15 23:15:26 712

原创 etcd 笔记(09)— 基于 etcd 实现微服务的注册与发现

1. 服务注册与发现基本概念在单体应用向微服务架构演进的过程中,原本的巨石型应用会按照业务需求被拆分成多个微服务,每个服务提供特定的功能,也可能依赖于其他的微服务。此时,每个微服务实例都可以动态部署,服务实例之间的调用通过轻量级的远程调用方式(HTTP、消息队列等)实现,它们之间通过预先定义好的接口进行访问。在微服务架构中,多个微服务间的通信需要依赖服务注册与发现组件获取指定服务实例的地址信息,才能正确地发起 RPC 调用,保证分布式系统的高可用、高并发。服务注册与发现主要包含两部分:服务注册的功能与

2021-05-12 22:21:54 1894

原创 etcd 笔记(08)— 基于 etcd 实现分布式锁

1. 为什么需要分布式锁?在分布式环境下,数据一致性问题一直是个难点。分布式与单机环境最大的不同在于它不是多线程而是多进程。由于多线程可以共享堆内存,因此可以简单地采取内存作为标记存储位置。而多进程可能都不在同一台物理机上,就需要将标记存储在一个所有进程都能看到的地方。例如秒杀场景就是一个常见的多进程场景。订单服务部署了多个服务实例,如秒杀商品有 4 个,第一个用户购买 3 个,第二个用户购买 2 个,理想状态下第一个用户能购买成功,第二个用户提示购买失败,反之亦可。而实际可能出现的情况是,两个用户都得

2021-05-10 22:50:22 838

原创 etcd 笔记(07)— 键值对读写操作过程

1. 读写总体概述etcd 各个模块交互的总览,如下图所示:总体上的请求流程从上至下依次为客户端 → API 接口层 → etcd Server → etcd raft 算法库。读请求客户端通过负载均衡选择一个 etcd 节点发出读请求,API 接口层提供了 Range RPC 方法,etcd 服务端拦截到 gRPC 读请求后,调用相应的处理器处理请求。写请求客户端通过负载均衡选择一个 etcd 节点发起写请求,etcd 服务端拦截到 gRPC 写请求,涉及一些校验和监控,之后 KVS

2021-05-09 23:08:15 2650 3

原创 etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease

1. Client 定义Client 定义如下:type Client struct { Cluster KV Lease Watcher Auth Maintenance // 认证的用户名 Username string // 认证的密码 Password string}这里显示的都是可导出的模块结构字段,代表了客户端能够使用的几大核心模块,具体功能介绍如下。Cluster:向集群里增加 etcd 服务端节点之

2021-05-08 22:01:34 1320

原创 etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程

1. etcd 项目结构和功能etcd 项目代码的目录结构如下:$ tree├── auth├── build├── client├── clientv3├── contrib├── embed├── etcdctl├── etcdmain├── etcdserver├── functional├── hack├── integration├── lease├── logos├── mvcc├── pkg├── proxy├── raft├── scripts├─

2021-05-07 22:39:02 1317

原创 etcd 笔记(04)— etcd 网关与 gRPC 网关

1. etcd 网关etcd 网关是一个简单的 TCP 代理,可将网络数据转发到 etcd 集群。网关是无状态且透明的,它既不会检查客户端请求,也不会干扰集群响应,支持多个 etcd 服务器实例,并采用简单的循环策略。etcd 网关将请求路由到可用端点,并向客户端隐藏故障,使得客户端感知不到服务端的故障。1.1 适用场景我们使用客户端连接到 etcd 服务器时,每个访问 etcd 的应用程序必须知道所要访问的 etcd 集群实例的地址,即用来提供客户端服务的地址:ETCD_LISTEN_CLIENT

2021-05-06 22:02:50 2825 3

数据结构与算法分析 算法的经典著作

经典的数据结构算法与分析 可以与C语言结合起来很好的学习 对于提高C有很大的帮助

2011-05-24

C语言经典编程实例 带程序结果

C语言经典编程,给出了在学习C的过程中的经典程序,值得一看,很实用的,是学习C很好的材料,可以帮你少走弯路。

2011-05-24

OFDM MATLAB 仿真程序

OFDM的 MATLAB 仿真程序,可以帮助你更好的理解OFDM的原理,以及在学习过程中更好的利用OFDM做毕业设计等等。

2011-05-22

4位EDA计数器(VHDL语言)

详细说明了4位十进制的VHDL表示方法,以此为经验可以编写任意进制的计数器

2011-05-20

4位十进制频率计设计

详细讲述了4位十进制频率机的设计以及应用,很有帮助对学习VHDL

2011-05-20

高质量的C++/C编程指南

很好的一本书,有了它找工作很方便的,书中列举了各种常犯的错误,是用人单位最爱考的部分。很好,用过就知道

2011-05-14

C语言趣味程序百例精解

主要针对C语言的初学者,很有启发性,可以认真的看看

2011-05-08

让你不再害怕指针 经典的指针讲解和练习

拥有它 你就可以完全理解C的精华 再也不害怕指针了 堪称经典!!

2011-02-18

空空如也

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

TA关注的人

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