zoukankan      html  css  js  c++  java
  • 互联网技术札记

    从一个IT菜鸟到一个互联网老菜鸟,从一个国内电商巨头到一个创业型公司。技术也由微软阵营转型到JAVA阵营。算不上最佳实践,也是从中也有一些认识及感悟,希望各路兄弟一起探讨学习。

    以下对当下互联网一些流行的技术及解决方案所需的框架做一个总结吧,主要都是一些JAVA及开源方面的技术框架组件。

    这里废话一段题外话,个人没有任何的技术偏见,只是因为时下微软阵营被边缘化,至于为啥我觉得不是语言的问题,还是因为openSource社区或者技术版权免费问题吧(微软最近当然也有很大的动作,还是很看好微软的^_^)。

    应用层相关:

    表现层一般还是MVC框架 SpringMVC or Struts2 或许还有Struts 这里LZ 只稍稍改过一点Struts的东西,光配置文件跟SpringMVC 比还是好麻烦的说。

    应用层一般还是Mybatis(IBatis)+Spring。

    持久层这里会说到关系型及非关系型,关系型;关系型一般还是以MySQL为主导,LZ也用过SQL SERVER,有钱的公司还会用Oracle,当然三者越往后价格越高费心越少。

    非关系型:大数据大字段考虑使用MongoDB,Redis等;

    缓存:除了富客户端的本地缓存,当然不得不说还有各种开源缓存中间件,Redis,Memcached还有淘宝的Tair。

    异步:说到异步解决方案,肯定会想到异步任务的调度,常规的有Quartz 还有就是taobao Schedule ,Quartz的有点方便快捷但是对分布式支持的不是很好,LZ曾经设法通过官网上的方式及网友们的推荐方案去改写,但是最终发现需要生产的DB脚本里的Tables有很多外键,这种表维护也很麻烦,上线DBA肯定也不建议,这里如果介意单点想用分布式调度的话还是考虑配合用缓存或者用taobao Schedule 比较好,后续LZ也会分享下分布式的Solution。

    这里还有一个进阶技术解决方案:状态机。也就是工作流的简化版本,这个一般可以自行设计,后续LZ考虑分享出当时的一个简单粗暴的方案。

    消息中间件:一个不得不说的神器,就是Active MQ 最成熟最流行广泛,还有就是淘宝的Rocket MQ(Meta Q前身),这个也很不错,只是相关文档少了点,Kafka ,RabbitMQ 这些LZ也只是耳闻,具体没用过。

    RPC:时下最出名最牛的也算是Dubbo了,当然个人感觉一般中小型没必要哈,Dubbo 的文档也是最最给力的;还有内部服务器之间的调用可以是Hession ,Restful或者SOAP,因为数据交换的格式不一样,Hession也是效率高的,Restful是最实用最方便的,SOAP相比前两者趋于繁琐累赘。

    项目管理当然不得不说下互联网项目管理,互联网的项目就一个字:快! 是的,你不快竞争对手快,文档都是扯淡的,兄弟们有没有同感 ~~~,所以怎么样又快又好,Scrum 敏捷开发也是互联网里最流行的,在这LZ推荐一个性价比高趣味性高的方案:看板管理,这个也是LZ比较看好的一种。

    以上粗略的说了一些泛泛而谈的东西框架,希望后续LZ能够坚持对每一个能够衍生分享出来。

    不能做SRE的Coding不是一个好的架构师
  • 相关阅读:
    HDU5914
    HDU1087(dp)
    HDU1711(KMP)
    HDU1251(字典树)
    HDU3068(Manacher算法)
    POJ2187(旋转卡壳)
    HDU1392(凸包)
    CodeForces 722B
    CodeForces 722A
    CodeForces 721B
  • 原文地址:https://www.cnblogs.com/Vincentlu/p/4176725.html
Copyright © 2011-2022 走看看