越过山丘

不要虚掷你的黄金时代,不要去倾听枯燥乏味的东西,不要设法挽留无望的失败,不要把你的生命献给无知、平庸和低俗。

技术博客-大数据

大数据 流式计算 Storm 官方网站 《最详细的Storm入门教程》 Flink 《Flink之一 Flink基本原理介绍》 Kafka Stream 《Kafka Stream调研:一种轻量级流计算模式》 应用场景 例如: 广告相关实时统计; 推荐系统用户画像标签实时更新; 线上服务健康状况实时监测; 实时榜单; 实时...

技术博客-分布式

分布式设计 扩展性设计 《架构师不可不知的十大可扩展架构》 总结下来,通用的套路就是分布、缓存及异步处理。 《可扩展性设计之数据切分》 水平切分+垂直切分 利用中间件进行分片如,MySQL Proxy。 利用分片策略进行切分,如按照ID取模。 《说说如何实现可扩展性的大型网站...

技术博客-中间件

Web Server Nginx 《Ngnix的基本学习-多进程和Apache的比较》 Nginx 通过异步非阻塞的事件处理机制实现高并发。Apache 每个请求独占一个线程,非常消耗系统资源。 事件驱动适合于IO密集型服务(Nginx),多进程或线程适合于CPU密集型服务(Apache),所以Nginx适合做反向代理,而非web服务器使用。 ...

进程间通信

Python 进程间通信 进程通信的目的 数据传输 一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间 共享数据 多个进程想要操作共享数据,一个进程对共享数据 通知事 一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。 资源共享 多个进程之间共享同样的资源。为了作到这一点,需要内核提供...

select、poll和epoll的区别

select、poll和epoll的区别 一. I/O多路复用机制 I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。 IO多路复用适用如下场合: 当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 如...

进程、线程和协程的区别

进程线程协程之间的区别和联系 一. 概念 进程 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。 每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。 由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。 线程 线程是进程...