Java的技术架构有哪些


更新时间: 2019-10-09

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  随着系统的的上线,用户量也会逐步上升,很明显一台服务器已经满足不了系统的负载,这时候,我们就要在服务器还没有超载的时候,提前做好准备。

  由于我们是单体架构,优化架构在短时间内是不现实的,增加机器是一个不错的选择。这时候,我们可能要把应用和数据库服务单独部署,如果有条件也可以把文件服务器单独部署。

  为了提升服务处理能力,我们在Tomcat容器前加一个代理服务器,我一般使用Nginx,当然你如果更熟悉apache也未尝不可。

  严格意义上来说,Nginx是属于web服务器,一般处理静态html、css、js请求,而Tomcat属于web容器,专门处理JSP请求,当然Tomcat也是支持html的,只是效果没Nginx好而已。

  基于以上Nginx反向代理,我们还可以实现动静分离,静态请求如html、css、js等请求交给Nginx处理,动态请求分发给后端Tomcat处理。

  在这分布式微服务已经普遍流行的年代,其实我们没必要踩过多的坑,保温袋味很大能用吗?!就很容易进行拆分。市面上已经有相对比较成熟的技术,比如阿里开源的Dubbo(官方明确表示已经开始维护了),spring家族的spring cloud,当然具体如何去实施,无论是技术还是业务方面都要有很好的把控。

  Linux集群主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)。其实,我们最常见的也是生产中最常接触到的就是负载均衡集群。

  DNS负载均衡,一般域名注册商的dns服务器不支持,但博主用的阿里云解析已经支持

  大家都知道,服务一般分为有状态和无状态,而分布式sessoion就是针对有状态的服务。

  简介:即粘性Session、当用户访问集群中某台机器后,强制指定后续所有请求均落到此机器上

  缺点:网络中有机器Down掉时、用户Session会丢失、容易造成单点故障

  简介:将Session存入分布式缓存集群中的某台机器上,当用户访问不同节点时先从缓存中拿Session信息

  缺点:实现复杂、稳定性依赖于缓存的稳定性、Session信息放入缓存时要有合理的策略写入