Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计


Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计

Java代码。表现逻辑与代码相混杂,代码重用性,系统维护性比较低。下面分别介绍:

l  JSF:基于组件事件驱动,遵循JAVAEE的标准,上手快,有大量可重用组件。对RESET支持不好,没有一个统一的实现,既有SUN的实现,又有apache的实现-myfaces,编写定自定义组件要求高,比较适合做企业应用。

l  xslt:模板技术之一,有极佳的拓展性和重用性,可实现严格的MVC分离。Xslt缺乏强有力的编辑器支持。在性能上,相对于JSP,Freemarker,Velocity,在等同复杂页面度的表现层逻辑,xslt性能比其他几个差距比较大,占用的内存空间也比较多。

l  Velocity:常用的模板技术之一,可实现严格的MVC分离,简单轻量级,语法简单。vtl语法需要一定上的学习时间,不支持jsp标签。

l  Freemarker:常用的模板技术之一,可实现严格的MVC分离。与Velocity相比,Freemarker功能更加强大,对表现逻辑和业务逻辑的划分更加严格,可自定义macro,Freemarker同时支持JSP的标签。Freemarker对于语法相对比较严格,变量必须赋值,map的key必须为string。

基于以上分析,结合开发效率和运行效率,建议采用Freemarker作为视图层的技术。

spring团队的产品,学习过spring的人,上手快。

l  springMVC可实现配零配置,struct2需要无法做到零配置。

l  对于开发效率来讲,springMVC相对struct2,效率高。

l  pringMVC内置restful,无需第三方插件的支持。

l  标杆对照,在淘宝、拍拍等大型电商网站中,也采用springMVC作为控制层技术,有很多资料可作为参考。

从技术的先进性、复杂性上考虑建议采用springMVC作为控制层。

hibernate和MyBatis。

l  Hibernate学习门槛比较高,限制对象模型,在多表、复杂查询下,优化难度较高。对于后期的维护或者重构来说,难度较大。

l  MyBatis属于半ORM框架,可以对sql做到精细控制,但是开发效率来讲,比hibernate相对慢些,但是利于后期的维护于重构。

从灵活性、可控性、学习成本和本人熟悉程度考虑,配合使用codeSmith代码生器能大幅提高开发效率,建议采用MyBatis,作为项目的ORM框架。

数据库有Oracle、MySQL,使用Mysql的好处有:

l  源免费数据库,使用较新稳定版本5.5

l  功能强大,稳定;

l  经历过有广泛的成熟的应用实践考验;

l  使用经验比较丰富,容易上手,使用简单;

l  视用户量情况考虑,前期小规模的时候采用Master-Slave主从模式备份。后期逐步考虑:实现数据库读写分离。并可考虑分表、分库,还可以使用集群提升读性能。

使用Oracle的好处有:

l  目前公司已经使用

l  性能好、安全性高,各种方案完整

l  客户较为认可

基于目前公司已使用,所以建议仍采用oracle,但如果需要降低成本可以采用Mysql。

架构集成

Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle采用了LGPL协议,即修改后的程序可以不公开发布,可以放心的使用,而不用考虑版权问题。

6      通用基础模块/组件方案

6.1   日志组件

l  采用J2EE平台最常用的Log4J日志组件

6.2   Cache组件

l  前期使用单台应用服务器的时候可以直接使用Mybatis内置缓存机制或者是服务器缓存开发;

l  后期根据实际运营情况,要使用集群部署方式时,使用Memcached组成分布式集群缓存,这样就不存在缓存同步的问题。

l  通过Spring的AOP结合Memchched将缓存功能嵌入到代码中,根据实际的业务场景,制定缓存策略。

Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计Java架构设计之总体设计案例 高性能 高并发 微服务 架构设计