2011互联网技术发展浅析

2011 年 1 月 21 日

编程语言

由于 Apple 的魅力,Objective-C 获得了飞速发展。其他主流语言变化基本不大。从 5 月的 Google I/O 大会来看,Go 语言在 Google 内部得到不少应用,但是社区关注点成功案例,在 2010 尚未明显突破。

函数式编程语言在分布式及互联网领域依然非常受重视,但是 Haskell、Erlang、Scala 等语言都缺少一个契机走向主流。

在 TIOBE 排行中,Java 依旧是第一语言,但是由于 Oracle 收购 Sun 及 Oracle 与 Google 的 Android 官司事件给 Java 发展蒙上一层阴影。在年底,IBM 和 Apple 都先后加入了 OpenJDK 项目,统一化了后续 Java 的方向。

数据及存储

根据国外知名技术站点 HackerNews 上半年前的一个投票“初创公司用什么数据库”,在 1044 个结果中,排行前 4 位是 MySQL 433、PostgreSQL 249、MongoDB 138、Redis59。

从中看到 MongoDB 及 Redis 取得了众多初创公司的青睐。其中推荐关注 Redis,在大量的 benchmark 测试中 Redis 基本战胜了 Memcached。Redis 是什么?如果你认为 Redis 是一个 keyvalue store, 那可能会用它来代替 MySQL;如果认为它是一个可以持久化的 cache,可能只是它保存一些频繁访问的临时数据。Redis 是 REmote DictionaryServer 的缩写,在 Redis 在官方网站的的副标题是 A persistent key-value database withbuilt-in net interface written in ANSI-C for Posix systems,这个定义偏向 keyvalue store。还有一些看法则认为 Redis 是一个 memorydatabase,因为它的高性能都是基于内存操作的基础。另外一些人则认为 Redis 是一个 data structureserver,因为 Redis 支持复杂的数据特性,比如 List,Set 等。对 Redis 的作用的不同解读决定了对 Redis 的使用方式。

在分布式存储领域,在 2010 年,Cassandra 在年初的火爆没有持久,下半年 Twitter 暂停在主业务后 Cassandra 逐渐在业界淡出。到年底时,Facebook 新的统一通讯产品突然宣布使用 HBase,随后其他一些产品如淘宝的一淘也宣称使用了 HBase,因此建议大型存储尤其是对 Hadoop 已有技术投入的公司可更投入适当力量研究 HBase。

平台及应用

随着云计算及开放平台的发展,软件开发模式已经发生了很大的变化,传统的信息系统需要走向开放及社交平台化,需要连接 Amazon、Facebook 等平台。更多新的软件机会在 Facebook、AppStore 等社交及移动平台浮现。在平台上开发软件和传统方式有很大差异,需具备快速开发能力,以及产品上线后应对用户急速增长的压力。很多初创公司并不具备大规模服务系统开发经验,因此使用云存储及云计算是在平台上开发应用最好的选择。在国外 Amazon 等厂商的服务已经非常成熟,从新开发的应用到上百万用户的系统都可以使用。初创项目尽量利用已有资源,切忌一切从头开发。

技术动向

年初在北京举办了 QCon 2010 大会,Facebook 及 Twitter 都分享了相关技术架构,从中可以学习到大型 Web2.0 系统的架构设计经验,到年底以关注 Web 性能为中心的 Velocity 大会也来到了北京,Facebook 分享的 BigPipe 等前端加速技术相信又会在业界带来前端优化的新思路。Web 及前端开发不再是以 Web 页面开发为主,前端脚本优化为辅的思路,使用前端框架为中心驱动 Web 页面开发的思路才能满足动态应用速度及用户体验的要求。

关于作者

杨卫华,新浪微博架构师,对互联网后端技术及大规模分布式系统架构有浓厚兴趣,经常通过微博及博客发表技术观点。


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。

2011 年 1 月 21 日 00:00 5669

评论

发布
暂无评论
发现更多内容

k8s-client-go源码剖析(二)

LanLiang

go Kubernetes 源码剖析

oeasy教您玩转linux010109clear清屏

o

30年技术积累,技术流RTC如何成为视频直播领域的黑马?

华为云开发者社区

云计算 AI 5G RTC 华为云

Docker 镜像的备份恢复迁移

哈喽沃德先生

Docker 容器 微服务 镜像 容器技术

一键洞察全量SQL ,远离性能异常

华为云开发者社区

数据库 sql 大数据 数据治理 华为云

一个空格引发的“救火之旅” - 记一次 SOFA RPC 的排查过程

阿里云金融线TAM SRE专家服务团队

架构师训练营第十二周总结

张明森

高并发系统三大利器之降级

java金融

OpenKruise:Kubernetes 核心控制器 Plus

郭旭东

Kubernetes 云原生 OpenKruise

【读书笔记一】《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》

Man

中台 阿里 中台战略

大事情!中国限制 AI 算法出口。网友:这是要阻止XX“下跪”

程序员生活志

Flink检查点、保存点及状态恢复-13

小知识点

scala 大数据 flink

银行大数据新玩法,构建“一湖两库”金融数据湖

华为云开发者社区

大数据 数据湖 FusionInsight MRS DWS

小小的分页引发的加班血案

架构师修行之路

架构

oeasy教您玩转linux010108到底哪个which

o

麦叔告诉你,Linux下安装nginx都踩了那些坑

麦叔

nginx #linux

区块链支付系统开发方案,usdt跑分系统搭建

WX13823153201

mPaas研发流程和线上运维介绍

阿里云金融线TAM SRE专家服务团队

ios android

Redis常见问题--哈希冲突

是老郭啊

哈希表 Redis项目

一文带你深扒ClassLoader内核,揭开它的神秘面纱!

我没有三颗心脏

Java ClassLoader java基础 类加载器

翻转链表算法、自动化测试框架robot-framework、两款iOS 在手机端debugging 工具Flex、啄木鸟、加密技术 高可用系统的度量 高可用系统的架构 高可用系统的运维 John 易筋 ARTS 打卡 Week 15

John(易筋)

ARTS 打卡计划 高可用系统的架构 翻转链表 自动化测试Robot 手机调试工具Flex

pandas ~基础pandas

南辞

Python

LeetCode题解:155. 最小栈,单个栈同时存储最小值,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

Redis常见问题--单线程

是老郭啊

nosql redis 线程

数字化转型需要低/零代码平台的支持

代码制造者

低代码 数字化转型 企业信息化 零代码 编程开发

软件产品的创新与宇宙奇点大爆炸

常平

方法论 产品思维 架构思维

5G边缘计算:开源架起5G MEC生态发展新通路

华为云开发者社区

开源 5G 边缘计算 公有云 EdgeGallery

JVM 内存模型、字节码、垃圾回收面试要点

escray

面试 学习笔记 垃圾回收 字节码 面试现场

雪花算法把玩

ElvinYang

面经手册 · 第8篇《LinkedList插入速度比ArrayList快?你确定吗?》

小傅哥

Java 数据结构 小傅哥 面试题 linkedlist

基于Apache Doris的小米增长分析平台实践

DorisDB

数据分析 用户增长 apache doris 分析型数据库 用户行为分析

2011互联网技术发展浅析-InfoQ