摘要: 并发编程存在原子性、可见性、有序性问题。内存模型用于解决原子性、有序性、可见性问题。java内存模型是比顺序一致性模型和处理器内存模型约束更强,更易编程的跨平台模型,提供了一系列机制和原语保证原子性、可见性、有序性,包括synchronized、volatile等。 阅读全文
posted @ 2019-10-13 13:12 golang架构师k哥 阅读(584) 评论(1) 推荐(2) 编辑
摘要: a56爆大奖在线娱乐包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满、fd泄漏等问题。命令包括ping、fping、tcpdump、lsof、netstat、/proc/$pid/fd、du、grep、traceroute、dig。 阅读全文
posted @ 2019-08-25 11:30 golang架构师k哥 阅读(742) 评论(0) 推荐(2) 编辑
摘要: a56爆大奖在线娱乐详细介绍了curl命令基础和高级用法,包括跳过https的证书验证,详细追踪整个交互过程,可用于调用网络后端接口,诊断http和https网络服务故障。 阅读全文
posted @ 2019-08-22 19:42 golang架构师k哥 阅读(6546) 评论(1) 推荐(1) 编辑
摘要: https在http和传输层之间加入SSL/TLS层,用于对数据进行加密传输。SSL协议包括SSL handshake和数据传输两个阶段。a56爆大奖在线娱乐介绍SSL协议原理及SSL数字证书,并详细介绍在腾讯云申请免费域名证书,安装在tomcat,将http协议改为https协议的过程。 阅读全文
posted @ 2019-08-17 10:39 golang架构师k哥 阅读(723) 评论(1) 推荐(2) 编辑
摘要: linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、信号(signal)、消息队列、共享内存、信号量、套接字(socket)。管道用于具有亲缘关系的进程间通信,有名管道的a56爆大奖在线娱乐管道具有名字,使没有亲缘关系的进程间也可以通信。信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身。消息队列是消息的链接表,消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。共享内存使得多个进程可以访问同一块内存空间,是最快的可用IPC形式,针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。信号量(semaphore)主要作为进程间以及同一进程不同线程之间的同步手段。套接口(Socket)更为一般的进程间通信机制,可用于不同机器之间的进程间通信。 阅读全文
posted @ 2019-08-10 16:59 golang架构师k哥 阅读(2174) 评论(1) 推荐(1) 编辑
摘要: zookeeper作为分布式协调组件,在开源社区有着广泛应用,比如作为dubbo的注册中心,a56爆大奖在线娱乐详细介绍zookeeper集群搭建和zookeeper的基本概念、数据模型,并研究zookeeper的常用场景,给出实现代码,包括分布式锁、分布式队列及leader选举等。 阅读全文
posted @ 2019-07-27 14:57 golang架构师k哥 阅读(564) 评论(0) 推荐(1) 编辑
摘要: 网络IO模型包括阻塞、非阻塞、IO复用、信号驱动IO和异步IO五种类型。阻塞IO无法应对多个连接的情形,单个socket操作阻塞会导致服务端无法接受其他连接,虽然可以用多线程、多进程的方式,将不同的连接放在不同的线程中和客户端交互,并利用线程池和连接池进行优化。但创建进程和线程会占用系统资源,当面对大规模连接时,系统资源浪费严重,系统响应效率不高。 非阻塞模型当socket读写操作未就绪时会立即返回,而不会阻塞等待,可以利用轮询的方式来进行读写操作,但当内核收到数据报到应用进程感知并处理会有时延。 利用IO复用,将监控socket读写操作是否就绪和进行读写操作分开,且IO复用可监控socket集合,IO复用包含select、poll、epoll三种模型。 select模型存在如下三种缺点: 1) 每次都需要将fd_set拷贝到内核空间,当fd_set较大时开销很大 2) 每次都需要在内核中遍历fd加入到等待队列,fd较多开销较大 3) select支持的文件描述符太小,默认为1024。 poll模型可同时监控的socket没有上线限制,取决于系统资源, 阅读全文
posted @ 2019-07-08 00:11 golang架构师k哥 阅读(4836) 评论(2) 推荐(6) 编辑
摘要: a56爆大奖在线娱乐介绍简单介绍socket的常用函数,并以python-kafka中的源码socketpair为例,来讲解python socket的运用 阅读全文
posted @ 2019-06-24 08:37 golang架构师k哥 阅读(805) 评论(2) 推荐(1) 编辑
摘要: Flink流式计算原理,包括Structured Streaming,Continuous Queries,Handling Event-time,Handling Late Data,Watermarks 阅读全文
posted @ 2019-06-15 10:48 golang架构师k哥 阅读(1898) 评论(1) 推荐(1) 编辑
摘要: spark学习笔记,主要包括spark core的内容RDD弹性分布式数据集和广播变量及累计器.Spark Sql的内容Sql、Dataset和DataFeame. 阅读全文
posted @ 2019-06-15 09:31 golang架构师k哥 阅读(586) 评论(0) 推荐(1) 编辑