简单说说 OSChina 的技术架构

原创
2009/02/18 15:48
阅读数 15.9W

OsChina.NET 这个域名是在去年 08年8月16日申请的,然后花了不足一个月的时候开发了第一个版本的OsChina,包含有项目展示、新闻、后台管理、会员注册等功能,以后的每次的改进就没那么集中,有空的话就完善完善一直到今天,当然了,还会一直完善下去。

OsChina.NET 是用 Java 开发的(一个朋友说,不是PHP就是ASP.NET,肯定不是Java,不幸猜错了)。

目前整个工程的Java代码行数是 1.5 万包含注释,其中真正的代码行是 1 万刚好,整个项目目录不足十兆,包括所有的jar包。

Java 开发Web网站一般都有很多的框架可以选择,但在OsChina中几乎没有用到什么框架,除了:Lucene(搜索)、Velocity(页面模板)、EhCache(缓存)。其中参考了 Struts 的 DispatchAction 的思路自己写了一个只有一个 Java 文件的控制器(详情),还有一个URL映射的(详情)。之前的很多项目都用了 Hibernate 来访问数据库,但觉得配置太烦、jar包太大,于是决定在 OsChina 项目中尝试不用 Hibernate,后来选择了 DbUtils ,结果是:配置没了、代码比用 Hibernate 来得更少,程序更简洁。例如:

/**
 * 列出某人的好友
 * @param user
 * @return
 */
public static List ListFriendsOfUser(long user) {
	String sql = "SELECT friend FROM osc_friends WHERE user=?";
	return QueryHelper.query_cache(long.class, CACHE, user, sql, user);
}

其他方面:不在项目中启动线程来自动构建索引,而是提供一个程序让通过操作系统的crontab来定期调用。

OSChina 服务器硬件情况请看:http://www.oschina.net/question/32709_8800

欢迎关注我的个人微信公众号(红薯胡说):

展开阅读全文
打赏
165
778 收藏
分享
加载中
居然是用Java写的,难怪一点都不卡
04/13 06:59
回复
举报
mark
03/16 14:53
回复
举报
现在看 压力有点顶不住,有时会挂,改用springcloud alibaba吧
2020/08/13 08:37
回复
举报
一个人再战斗
2020/08/06 13:59
回复
举报
怪不得性能这么差
2020/07/13 15:49
回复
举报
Amg
能说说现在的驾构吗,最好能说说,每次驾构迭代
2020/07/06 08:57
回复
举报
该更新了啊
2020/05/12 17:12
回复
举报
11 年了 求更新
2020/02/07 10:12
回复
举报
这篇文章10年过去了,开源中国的架构肯定发生了很大的变化,为什么不一直跟着架构的变化而更新这篇文章呢? 建议更新😄,@红薯
2019/12/27 14:23
回复
举报
暴露了 数据库表。
2019/09/27 14:36
回复
举报
更多评论
打赏
248 评论
778 收藏
165
分享
返回顶部
顶部