• Java并发编程
  • JVM
  • JMX
  • Java数据结构与算法
  • 动态字节码生成技术
  • 常用工具
  • 1.0 云计算技术简介

    2016-03-03 00:01:00 21,402 4


    所谓“云计算”,就是用网络连接大量的廉价计算机节点,通过分布式软件虚拟成一个可靠的高性能计算平台。之所以称为“云”,是因为我们画网络绘图的时候,总是将网络画成一朵云。

    Image.png

    一、为什么要有云计算?

    古代,人们用牛来拉重物。当一头牛拉不动一根圆木时,他们不曾想过培育更大更强壮的牛。同样,我们也不需要尝试开发超级计算机,而应试着结合使用更多的计算机。

                                                                                                                                                               --格蕾丝.霍柏

            我们生活在数据的时代,一个最明显的案例就是,现代企业会收集用户相关的大量数据来进行分析统计。企业收集的数据可不光光是用户在网站上或者APP上的注册信息、发表的言论又或者是购物信息。

            企业会收集用户的行为数据和自身产生数据。因为数据就是价值。我们通过案例来说明:

    案例1 智能推荐

    本人经常会使用百度看看一些新闻,而百度经常会给我推荐一些新闻,请注意下图中的"为你优选"

    Image.png

    (在写这篇文章的时候时候才发现,我最近娱乐新闻看的比较多,惭愧惭愧!)

    案例2 精准营销

    你最近可能搜索或者购买了一个商品,等到你下次在访问某个网站的时候,可能就会弹出相关商品的广告。例如本人最近在京东买了一个手机,然后它就给我推荐了一个"猜你喜欢"


    案例3 风险控制

    以上两个案例比较直观,用户可以直接感受到。而大数据用在风险控制,主要指的是,根据用户的行为判断用户是否是恶意用户,或者进行了恶意操作,例如某个用户短时间内产生了大量的评论数据,这明显属于异常情况,需要给予相应的惩罚措施,例如禁止登陆。


    以上只是讲解了几个简单的,读者能实际感受到的案例应用。

    作为开发者,我们需要考虑的是,如果在用户量非常大的情况下,产生的数据量是非常多的。一天的数据可能就是几十亿,上百亿条。在数据存储、计算和查询的过程中,任何一台单独的服务器在性能上都可能都无法满足要求。

    我们要做的,不是研发一个超级强劲的计算机,来处理这些数据,而是应该尝试用多个廉价的计算机来组成一个集群,来协作处理这些数据,于是我们的云计算技术就产生了。