站内搜索

本次搜索找到结果 34 条
Firekylin 是基于 ThinkJS 开发的一套高效简洁的动态博客系统,数据库使用 MySQL,安装配置非常简单方便。 关于 Firekylin 的安装方式在 wiki 上已经有很详细的说明,以下本文主要说下在 Docker 中安装运行 Firekylin 的方式。 一般来说,在 docker 中运行网站会有两种常用的方式。即一种是把代码作为卷挂载到容器中运行,好处是方便代码的版本控制和更新;另一种方式是把代码和运行时环境同时打包到容器中,好处是方便随处运行。以下会分别就这两种运行方式做说明。 另外以下内容只谈及 Firekylin 的安装和运行,不涉及到 Nginx 和 MySQL。数据库之类的敏感内容(...

最近在一篇文章上看到关于使用 NodeJS 控制树莓派硬件编程的文章,顿时起了兴致,准备也搞一个来玩玩。其实早在几年前就看到有关树莓派的内容,只是对 C 语言或 Python 编程不熟,玩不起来,所以迟迟未能入手。

刚好同事有一个树莓派,拿来玩了几天后基本搞懂怎么用了,于是自己也买了一个 ?

本文分享自腾云阁

作者介绍:韩伟,1999年大学实习期加入初创期的网易,成为第30号员工,8年间从程序员开始,历任项目经理、产品总监。2007年后创业4年,开发过视频直播社区,及多款页游产品。2011年后就职于腾讯游戏研发部公共技术中心架构规划组,专注于通用游戏技术底层的研发。

在分布式程序架构中,如果我们需要整个体系有更高的稳定性,能够对进程容灾或者动态扩容提供支持,那么最难解决的问题,就是每个进程中的内存状态。因为进程一旦毁灭,内存中的状态会消失,这就很难不影响提供的服务。所以我们需要一种方法,让进程的内存状态,不太影响整体服务,甚至最好能变成“无状态”的服务。当然“状态”如果不写入磁盘,始终还是需要某些进程来承载的。在现在流行的 WEB 开发模式中,很多人会使用 PHP+Memcached+MySQL 这种模型,在这里,PHP 就是无状态的,因为状态都是放在 Memcached 里面。这种做法对于 PHP 来说,是可以随时动态的毁灭或者新建,但是 Memcached 进程就要保证稳定才行;而且 Memcached 作为一个额外的进程,和它通信本身也会消耗更多的延迟时间。因此我们需要一种更灵活和通用的进程状态保存方案,我们把这种任务叫做“分布式缓存”的策略。我们希望进程在读取数据的时候,能有最高的性能,最好能和在堆内存中读写类似,又希望这些缓存数据,能被放在多个进程内,以分布式的形态提供高吞吐的服务,其中最关键的问题,就是缓存数据的同步。

本文分享自腾云阁

作者介绍:韩伟,1999年大学实习期加入初创期的网易,成为第30号员工,8年间从程序员开始,历任项目经理、产品总监。2007年后创业4年,开发过视频直播社区,及多款页游产品。2011年后就职于腾讯游戏研发部公共技术中心架构规划组,专注于通用游戏技术底层的研发。

本文分享自腾云阁

作者介绍:韩伟,1999年大学实习期加入初创期的网易,成为第30号员工,8年间从程序员开始,历任项目经理、产品总监。2007年后创业4年,开发过视频直播社区,及多款页游产品。2011年后就职于腾讯游戏研发部公共技术中心架构规划组,专注于通用游戏技术底层的研发。

本文分享自腾云阁

作者介绍:韩伟,1999年大学实习期加入初创期的网易,成为第30号员工,8年间从程序员开始,历任项目经理、产品总监。2007年后创业4年,开发过视频直播社区,及多款页游产品。2011年后就职于腾讯游戏研发部公共技术中心架构规划组,专注于通用游戏技术底层的研发。

虽然使用缓存思想似乎是一个很简单的事情,但是缓存机制却有一个核心的难点,就是——缓存清理。我们所说的缓存,都是保存一些数据,但是这些数据往往是会变化的,我们要针对这些变化,清理掉保存的“脏”数据,却可能不是那么容易。

本文分享自腾云阁

作者介绍:韩伟,1999年大学实习期加入初创期的网易,成为第30号员工,8年间从程序员开始,历任项目经理、产品总监。2007年后创业4年,开发过视频直播社区,及多款页游产品。2011年后就职于腾讯游戏研发部公共技术中心架构规划组,专注于通用游戏技术底层的研发。

在服务器端程序开发领域,性能问题一直是备受关注的重点。业界有大量的框架、组件、类库都是以性能为卖点而广为人知。然而,服务器端程序在性能问题上应该有何种基本思路,这个却很少被这些项目的文档提及。本文正式希望介绍服务器端解决性能问题的基本策略和经典实践,并分为几个部分来说明:

BYI_API上线已经两年多了,总计调用量已经超过千万次。虽然名叫API,但其实和API没太大关系,只是一些免费开放使用的辅助接口罢了。两年间共相继开放了favicon图标获取、网站首屏截图、短网址、IP地理位置查询等服务,后来因为维护及服务器原因(个人维护,单台架构,无法承载过多请求,加上被人滥用等)又相继停止了大部分服务,目前仅留了favicon获取服务可以正常使用。网站首屏截图的服务目前没发现国内可用的服务,于是自己写了一套,但这个服务需要抓取目标网站的首页,并在服务器端渲染首页图片,然后再缩小到需要的尺寸,对服务器的开销特别大,于是不得不在开放六个月后关停此项服务。让我决心关停此项服务的最大原因倒不是服务...
我的API服务已经迁到docker以及美国服务器有一周的时间了,不知道是网络的问题还是docker的问题,迁到美国的服务器后明显感觉并发时不如之前在阿里云时稳定。之前在阿里云部署时一个页面40个请求毫无压力(之前也没用docker,直接LNMP架构部署),但在迁移之后只要并发数量一高,FPM进程准会挂掉。我自己使用的一个工具页面上有四十多个小图标需要调用这个API服务,只要一刷新FPM必挂。尝试过调整docker内FPM进程的子进程数量,效果并不明显,加上服务器配置低,单个FPM进程子进程数不能调太高,否则容易影响其它服务(我猜的)。于是乎想到一个办法:启动两个FPM容器,两个容器拥有相同的配置以及子进程数,两者...
已经有段时间没写过东西了,最近在着手把之前的PHP服务docker化,以方便在两台服务器之间部署。整个学习和使用docker的过程还算顺利吧,但在部署PHPFPM的过程中遇到了一些问题,以下作为记录供遇到同样问题的人参考吧。系统架构因为我可能会经常修改Nginx配置,加上我是自己编译的最新版的Nginx+Openssl(为了启用HTTP/2),所以就懒得把Nginx打包成docker镜像了,而是直接将Nginx装在了宿主机,并开放80和443端口。系统所需的除Nginx以外的其它服务全部由docker提供服务,如PHP和Redis。每一个服务使用一个容器,均为官方镜像。Redis的使用就不说了,比较简单,说下在使...