
linux服务器
文章平均质量分 63
写了程序换酒钱
Want to be a geek!!!
展开
-
在内网架设一个可供外网登录的ftp服务器
ftp服务器是使用比较平常的服务器,但是IP资源是有限的,那么怎么让内网的服务器給外网的用户提供服务了?原创 2014-11-12 22:21:45 · 16188 阅读 · 0 评论 -
基于nginx的TCP Proxy实现数据库读写分离
nginx很早就支持tcp proxy,但是一直不知道其使用,最近在nginx blog上看见了,一些实践者将其运用到数据库访问的负载均衡以及实现读写分离,来提高数据库的吞吐量,这里我不会讲具体的搭建实现,只是最一些理论上的设计猜想。直接上图 db集群,分为读db和写db,写db向读db同步数据。读db只能读,写db只能写,图中读写各一个,只是一个例子,实际需要根据业务来配置读写服务器比例。ngi原创 2016-02-26 15:33:20 · 4751 阅读 · 2 评论 -
基于TCP协议的视频传输
这个程序是为了大二上学期一个设计作业,写的原创 2014-10-12 12:31:33 · 10171 阅读 · 12 评论 -
基于boost.asio的echo服务器3
外包公司赶项目拿人当狗用,fuck!上次2是给list加了层锁,这里为每个io_service都分配一个list来减少竞争。class TestEchoServer2 : public boost::enable_shared_from_this<TestEchoServer2> , private boost::noncopyable{public: TestEchoS原创 2015-09-18 22:48:08 · 1203 阅读 · 0 评论 -
读写分离
读写分离(Read/Write Splitting),基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。转载 2012-10-05 22:56:00 · 1233 阅读 · 0 评论 -
lvs负载均衡
可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server v转载 2012-10-05 22:53:30 · 980 阅读 · 0 评论 -
ccfast更新-支持基于Redis的Session
这是一个基于FastCGI和C++的RESTful API开发框架。其依赖于fastcgi,boost,libmysqlpp,jsoncpp,其中用了C++11的特性。现已初步添加了基于Redis的Session支持。ChangeLog 1. 基于Redis的Session管理 2. 代码结构调整前端web服务器我们使用Nginx,需要的配置如下:location ~* ^/ccfast/.+\原创 2015-06-07 11:55:07 · 1050 阅读 · 0 评论 -
a cpp fastcgi framework
ccfast这是一个基于FastCGI和C 的基于HTTP的Resuful API开发框架。其依赖于fastcgi库,boost库,libmysql ,libredis,其中用了C 11的特性。前端web服务器我们使用Nginx,需要的配置如下: location ~* ^/ccfast/. \.do$ { fastcgi_pass 127.0.0.1:10原创 2015-02-26 20:45:30 · 1465 阅读 · 0 评论 -
基于nginx_http_push_module模块让nginx变成Comet Server
基于http协议搭建各种服务已经成为一种大势,但是基于http协议的客户端和服务器端的交互却是个难题,没办法http协议天生如此,其是无状态的协议,每次交互建立链接,结束断开.客户端和服务器交互很简单,请求描述功能接口的url即可,带上参数.可是服务器要和客户端交互,那就有些困难.下面是几种方法.1.客户端轮询,最差的一种,客服端和服务器端都在白忙活,浪费资源.2.long-polli原创 2014-12-20 12:06:38 · 3215 阅读 · 0 评论 -
基于boost.asio的ECHO服务器
基于boost.asio的ECHO服务器前沿从大二开始就对服务器开发,感兴趣,从Qt的QTcpServer和QTcpSocket到使用linux的epoll。后来有因为工作搞了一个nginx和php做app后台,后来想找个游戏服务器方面的工作,可是人家嫌你没开发经验,当时我毕业还没一年,能有多少锤子经验。问我熟悉boost.asio库吗,我说知道,没用过,然后就没有然后啦。老老实实做嵌入式开发。ec原创 2015-08-29 20:11:16 · 2012 阅读 · 1 评论 -
基于boost.asio的echo服务器2
在多处理器普及的现在,服务器程序会充分使用计算机多核的能力,比如nginx的master-worker多进程模式,那么今天我们就在1的基础上来通过多线程来使用多核。 进程和线程数不是越多越好,一般不要超过CPU核数的2倍。io_service是asio的事件循环,那么多线程就是几个io_service在各自的线程运行,这里我们使用io_service_pool类管理他们。#define CPUS原创 2015-09-12 12:11:16 · 1255 阅读 · 0 评论 -
Linux服务器编程(1)
Linux服务器编程(1)前言虽然有OSI七层标准协议,但是现在Internet上的实际协议是四层的TCP/IP协议族,从上倒下,分别是应用层,传输层,网络层和数据链路层。其是一个分层,多协议的通讯体系。每一层通过不同的协议完成不同的功能,上层使用下层提供的服务,如下图所示。 数据链路层数据链路层实现了网卡接口的驱动程序,来处理在数据在物理媒介的传输。不同的物理网络,比如以太网,令牌环,wlan,原创 2015-08-04 18:06:00 · 977 阅读 · 0 评论 -
基于epoll的聊天室程序
epoll相对于poll和select这两个多路复用的I/O模型更加的高效。epoll的函数很简单,麻烦的地方在于水平出发和边沿触发。 用张图来说明下 ET(边沿)只是在状态反转时触发,比如从不可读到可读。而LT(水平)就是如果可读,就会一直触发。所以在使用ET的时候要做一些额外的处理,比如可读的,一直把缓冲区读完,进入不可读状态,原创 2013-07-13 20:44:31 · 3985 阅读 · 0 评论 -
php curl
PHP和CURL随着移动互联网的发展,移动办公的需求在需要改变以适应现在环境的传统企业中变得越来越大。这类的移动应用和企业的业务需要密切相关,可能只使用本企业,一般并发用户少,在初期需求不明确,改变比较大,那对应用的开发迭代要求高。在这类的应用的后台,PHP+json是很好的选择,后台更新方便,而且可利用资源较多。其和公司业务相关,可能需要请求其他的REST服务,那么在PHP中和其他的第三原创 2015-01-17 11:59:33 · 939 阅读 · 0 评论 -
Spark--用Java开发微服务
这个说的Spark不是apache的Spark,这边说的是一个java的web application的框架。 官网:http://sparkjava.com/我做过一段时间的后台架构开发,使用的是微服务架构,主要使用了C++和PHP,大部分是PHP,C++只是用在API结构频率很高的地方,大部分的还是使用的PHP完成,使用C++是比较痛苦的,虽然借助与nginx,不需要解析HTTP协议,但是还是原创 2016-05-28 18:18:28 · 9010 阅读 · 0 评论