`
achi217
  • 浏览: 10211 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Web 应用的一些趋势技术

阅读更多
    语言不是因素, Java能做的, 已经能做到大部分的事情。 经常被人询问, 这样的应用能使用Java么。 我的回答是架构决定性能, 可什么是架构呢, 小到一个一个API的实现的技巧, 大到技术级别上的框架和整个业务的流程。不过, 架构有个定义, 是一组可以被回调(callback)的代码实现。  什么是callback呢, 请不要拘泥于他一定是一组代码, 应该理解成输入一个资源, 架构能够知道如何去处理。说远了, 以后再谈。
   今天想说是, Java  业务的各个环节, 我所倾向采取的细节技术:
   1.  前端架构方面, 我不是专家, 很想去深入研究,但是没有时间。 Ajax/Json是我们目前使用的比较的多的一些技术。 至少, 他能减少一些开发的复杂程度, 还有多个系统间为了展现内容, 不需要直接相互交互, 能够起到decouple的作用。
   2. 页面的渲染, 目前的技术特别多, xml/xlst, webmacro, servlet/jsp, jsf等等, 这些东西都比较复杂。 对于做产品, 我个人觉得他们是可取的, 当时, 对于一些高速发展的电子商务类网站, 比如taobao.com 这样, 很多的动态page, 版面设计人员会在模版上作大量的修改。 如果一堆的jsp代码放在里面, 简直会要了他们的命, 太过于技术化了。 经过很多权衡, 我们选择使用了velocity.
  3. web框架方面, 我没有什么好说的, 我们公司有自己的框架, 虽然用起来复杂了点了, 当时还算是不错。 代码也写的非常严谨, 可扩展方面也作的相当不错。等有时间介绍吧。
  4. 持久层, 也许大家都很关心。 在业务压力比较多的网站, 我们是绝对不会采用hibernate,这块的东西一定要能掌握在手里。 说实话hibernate 跟 ejb真的没有区别, 黑黑的盒子, 出了问题很难查找。在有DBA和开发写作的团队, ibatis是值得使用的工具。 这世界上, 如果真的想hibernate那么理想的工具, 也就是说, 今后的世界不需要有程序员这样的职业了, 当然我不是歧视hibernate, 在小型应用的领域, hibernate是一个伟大的发明。
  5. 关于超大规模的表。 如果一个数据库表, 记录到了5000W记录以后, 就是使用小机作数据库服务器, 性能也会越越差的, 所以, 把这个表按用户拆分开来是最适合的选择。
  6. 关于站内的搜索, lucene是你的选择, 甚至你可以选择nutch. 不是每个公司都能力开发搜索引擎的。 选择这个并不会带来新性能问题。
  7. 大规模的群集? 群集, 架构师的责任是做到无状态群集服务, 如果一个50个以上节点组成的群集, 那么光是状态维护就会吧整个系统的性能吃的差不多。 记住,避免任何群集的状态性。 关于如何保存服务器的状态有很多技术解决, 比如使用cookie based session, 把所有的会话都序列话到客户机。 不过, 对于很多应用的环境, 这个想法有点天真。 会导致客户端有太多的COOKIE。 另外的最做法是把会话保存到数据库里去。 或者把会话保存一个独立的数据服务的环境这中。
  8. 如何缓冲高度频繁访问数据库的数据。 目前有很多CACHE产品。 比如jboss cache, oscache, 等等很多的选择余地。 不过, 话说回来, 我尽管是个想整个系统是Pure Java, 不过, 有时候, 还是要低头的。 请想想一下, 如果的你JAVA作的CACHE系统里有1000W个对象,我们作过测试, 开了1G的内存给Java, 没有别的内存参数的情况下, 1000W对象的full gc 的时间可能会有大于10秒。 那就意味着可能导致系统会被突然被卡住。 当然Java有些内存调解的参数可以缓解这一情况, 当是, 总是不爽的。 Web 应用的体验会大打折扣。 经过很多对比以后, 我们发现 Memcached 是一个C写的cache系统是一个非常不错的选择。 目前他的Java client也写的非常不错。 已经用上nio了。
  本来想写很多, 突然没有话了。 罪过。
  还有一些技术,比如hadoop.  nutch, mina 都是很不错的东西。 值得去思考。



 
分享到:
评论

相关推荐

    信息安全技术Web应用安全检测系统安全技术要求和测试评价方法.pdf

    8. Web应用安全检测的挑战和限制:Web应用安全检测也存在一些挑战和限制,例如Web应用程序的复杂性、技术上的限制和资源的限制等。这些挑战和限制需要开发者和测试人员予以关注和解决。 9. Web应用安全检测的未来...

    《Java Web应用开发技术实用教程》-王红-电子教案

    《Java Web应用开发技术实用教程》是一本专为学习...通过学习《Java Web应用开发技术实用教程》,读者不仅可以掌握Java Web开发的核心技术,还能了解到最新的开发趋势,为成为一名合格的Java Web开发者打下坚实基础。

    明御WEB应用防火墙-用户操作手册V3.0.4.3.3.doc

    "明御WEB应用防火墙用户操作手册V3.0....10. WEB应用防火墙的发展趋势 随着 WEB 应用的普及和信息安全威胁的增加,WEB应用防火墙的需求也在增加,未来 WEB 应用防火墙将继续发展和完善,提供更好的安全保护解决方案。

    Web应用程序客户端恶意代码技术研究与进展.pdf

    5. Web应用程序恶意代码技术发展趋势 Web应用程序恶意代码技术正在不断发展,新的恶意代码技术和利用手段不断涌现。因此,需要不断加强Web应用程序的安全措施,保障用户的安全。 6. Web应用程序客户端安全检测技术...

    第十四届蓝桥杯(Web 应用开发)模拟赛第一期题目

    通过参与蓝桥杯Web应用开发模拟赛,参赛者不仅能够检验自身技术水平,还能了解最新的Web开发趋势和技术,为未来的实际项目开发积累宝贵经验。在准备比赛的过程中,不断实践和学习,将有助于提高综合能力,为未来的IT...

    Ajax技术研究及其Web应用

    ### Ajax技术研究及其Web应用 Ajax(异步JavaScript和XML)技术自其诞生以来,便在Web开发领域引起了巨大的变革,极大地提升了用户在Web环境下的交互体验。本文将深入探讨Ajax的技术原理、核心技术及工作流程,并...

    Java Web应用开发与实践范例

    《Java Web应用开发与实践范例》是一本深入探讨Java Web技术的专业书籍,旨在帮助开发者理解和掌握在实际项目中如何运用这些技术。由于"描述"中提到"里面没有五六章代码",我们可以推断该书可能在第五章和第六章涉及...

    关于招聘web应用的相关论文

    本文将深入探讨招聘Web应用的相关知识点,包括其核心功能、技术架构、安全性以及未来发展趋势。 1. **核心功能** - **发布职位**:企业可以方便地在平台上发布招聘信息,包括职位描述、任职要求、薪资待遇等。 - ...

    Ajax技术在Web应用系统中的略述.pdf

    "Ajax技术在Web应用系统中的略述" Ajax技术是当前Web应用系统中的一种革命性技术,能够实现异步数据交换和局部页面刷新,解决传统Web应用系统中的同步请求数据和页面刷新问题。Ajax技术的出现使得Web应用程序的...

    明御WEB应用防火墙产品配置手册V3.0.4.0.doc

    明御Web应用防火墙(简称明御WAF),是一款由杭州安恒信息技术有限公司开发的安全产品。该产品主要用于保护Web应用免受各种攻击威胁,如SQL注入、XSS跨站脚本攻击等。 #### 1.2 产品功能介绍 - **攻击防御**:提供...

    Web数据库技术及其发展趋势

    随着Web应用的扩展,动态内容生成成为主流。Web服务器结合数据库,根据用户请求动态生成HTML,提高了信息更新的灵活性和效率。 二、Web数据库概述 2.1 Web数据库的概念 Web数据库管理系统是基于Web模式的DBMS,...

    Web数据挖掘技术及应用.pdf

    在实际应用中,Web数据挖掘技术可以帮助企业分析消费者的行为模式、预测市场趋势、优化产品推荐机制等。例如,通过分析用户在网页上的点击路径、停留时间以及购买记录等数据,企业能够更准确地了解用户的偏好和需求...

    基于Ajax的Web动态交互技术的研究与应用.pdf

    Ajax是一种基于JavaScript和XML的异步通信技术,它可以实现Web应用程序的动态交互。下面是基于Ajax的Web动态交互技术的研究与应用的知识点: 1. Ajax概述 Ajax是一种异步通信技术,它可以实现Web应用程序的动态...

Global site tag (gtag.js) - Google Analytics