On the blog bus last weekend, we invited friends from several startup companies in Shanghai to have a technical exchange: verycd scientists, kickoji, contacts, cdnunion, anjuke and Sun's startup solution experts;
Topic 1: CDN cache of Dynamic Content
Conclusion: currently, the CDN cache is still dominated by static content, and the dynamic page cache Expiration/update policy is complicated. However, CDN has the purge interface, but it is rarely used: more cache services are provided for images and videos that never update the content. In addition, the possibility of replacing a solid-state disk with a gradual memory is not available in the near future, and the price of solid-state disks is still very high, i/O speed is also a problem;
Topic 2: Use of memcahce
All websites use memcache, and the performance is greatly improved by avoiding connection to the database (the hit rate is above 90% );
About: Multi-memcahced distribution policy;
Customer collection
Scale: Draw a certain amount of space on Multiple front-end application servers,
Distribution Rules: memcached addserver is used for cache distribution by memcache itself;
Single point of failure (spof) Handling: When a node is interrupted, retry;
Blog bus and verycd applications are similar:
Scale: dozens of GB (2 GB );
Distribution Rules: You can set cache distribution rules for your own applications to distribute data,
Single point of failure handling: If memcached is interrupted, other servers are not attempted;
About memcache compression:
The PHP client can set compression, and the server also has more detailed compression configuration options (which are included in the memcached documentation ?);
About the scalability of memcached: the latest version considers consistent Hash (after the service node is extended, the old content is still on the old server, and the new cache does not need to be generated based on the new distribution rules)
Memcached: Bin-mode storage;
For cached objects: memcache is used to cache large list page objects, which is very important for efficiency improvement;
Topic 3:Version Control, document management, and task tracking
The main discussion is that SVN branch merge, in addition to SVN, also trying tools such as Hg git; branch management tool: svn-merge.py, SVN is also divided into two sets: As much branch as possible (verycd), and as much as possible to avoid Branch (Kijiji/blogbus)
Blogbus: Uses mediawiki for documentation and bugfree project tracking;
Trunk: Most modifications
Tag: Use the switch tag when publishing;
A small number of branch:
Linkist: Document: Hybrid TRAC + SVN log
Branch:
Trunk for development
Stagging: used for testing
Tag
Anjuke: email document; bugfree tracking;
Trunk: development and testing;
Main: release test;
Verycd: TRAC: Document + tracking;
Branch A large number of branch for development;
Trunk is used for publishing
Kijiji: Document: Google sites bugfree: tracking;
Trunk
Large number of tags
Branch small