作为一名架构师,我们应该掌握的技术是什么?
作为一名架构师,我们应该掌握哪些技术呢?
占占简单来谈一下:
- 面向对象OOP的理解,我是说理解,我不希望你告诉我百度里的概念!
- 常用的数据结构,对于常见的数据结构,算法,应该知道一些!
- WEB服务,对于分布式,大一点的项目都会遇到,你可以用WS,WCF,Remoting去实现它,它们的原理是你应该知道的,因为你是一名架构师,兄弟们都指着你呢,呵呵!
- 全文检索:lucene.net,当然lucene只是实现全文检索的一种方式,你可以使用其它文件索引来干这事
- NOSQL:你可以选用不同的开源项目,redis,memcached你会用一种就行了,呵呵
- 缓存:cache,每个项目都会有自己的缓存机制,作为架构师的你,必须为你的企业开发一个统一的,健壮的,易扩展的组件,这是必须的,也是我们的责任!
- 负载均衡:Nginx,对于访问量大的WEB服务器,做负载是必须要走的路,没有一台服务器可以满足无穷大的访问量,去多架几台WEB服务器吧,呵呵
- 文件存储:FastDFS,无论是京东,淘宝,稍微有规模的企业都会有自己的文件存储机制,对于文件上传,下载,管理是很有必要的,我们将数据库,WEB服务,WWW服务,文件服务器分开吧,呵呵!
- 面向服务的体系结构(service-oriented architecture,SOA)组件,统一,公用,规范,当然你的项目有这些东西时,你应该去理解一个SOA了,它会将系统公用的模块,组件统一起来,为外部提供一个统一的接口,在各个领域中,统一去调用,还是那句话:我不要DRY,呵呵!
- 面向切面(方面)的编程: Aspect Oriented Programming(AOP),面向切面编程, 它是对面向对象OOP的补充,它让程序开发变得更加完美,将一个系统在横向上进行切割,把可以提出现的东西提出来,并使用动态插拔(动态代理)机制实现组件在各个领域系统中的插拔,微软的orchard是个不错的例子,呵呵!
感谢您的阅读,呵呵!