Java程序员也应该知道的系统知识系列之全局体系

简介:

作者:林昊

overview-624x312

 

Java程序部署到服务器上后,要被外部用户访问到,还需要一系列的东西组成,这些东西也是需要了解的。

 

外部用户要访问,通常来说都会给个域名,有域名就意味着需要DNS,一般来说域名注册商都会提供域名解析服务,当然,也有外部的一些域名解析提供商,例如著名的dnspod。

 

域名需要解析为一个公网的ip,互联网公司会借助这个机会来根据用户访问的ip来解析为一个更靠近用户的公网ip(这个通常需要采用商用的GSLB设备来实现),从而提升用户的访问速度,也就是很多人都听说过的CDN,不过这主要用于静态资源,例如图片、js、css文件等,这一层的技术难点是如何选择一个对用户而言访问速度最快的节点(例如最近距离的一个挂了,最近的节点负载高等),在中国的网络环境下就更复杂了。

对于动态类的资源的访问,通常就会访问到某个或某几个机房,这些通常就是在DNS上绑定多个公网ip,而访问公网ip要能最后落到实际的服务器上,通常会需要经过LB(load balance)设备,这个可以是硬件的,也可以是软件的,软件的目前来说实现和维护的成本还是比较高的,硬件的话则是本身价格比较昂贵,所以可以根据公司发展的阶段来选择,LB设备上的每个VIP下可以挂载一堆的服务器,由LB设备来负责选址以及failover的处理。

 

经过上面的过程,用户的请求才能落到实际的服务器上,而对于Java应用来说,各种应用服务器例如jboss、tomcat等直接暴露对外的话,支撑连接的能力会不够(主要原因是这些应用服务器之前都是bio的模式),另外也是这些应用服务器在实现的时候对于诸如慢连接等的防攻击能力很弱,所以通常来说在应用服务器前面还会搭一层nginx/apache等,所以通常这个时候会先落到nginx/apache上,然后由nginx/apache再转发到相应的服务器。

 

经过上面的阶段,用户的请求才终于进入到了Java程序中处理了。

 

从上面整个过程可以看到,要确定Java应用能够支撑的量,需要全盘了解,DNS部分的解析能力、LB设备的支撑能力、CDN的流量、Nginx/Apache的支撑能力,同样,稳定性也需要全盘了解。

 

整个Java程序员也应该知道的系统知识系列到此就结束了,讲的并不深入,感兴趣的同学可以根据涉及的点进一步的去了解更深入的内容,更多的是希望大家能通过这个系列的文章来知道对于一个生产环境中运行的Java程序,要做好稳定性保障、性能优化等,仅仅是知道Java代码本身是不够的。

 

相关文章
|
16天前
|
运维 Java
Java版HIS系统 云HIS系统 云HIS源码 结构简洁、代码规范易阅读
云HIS系统分为两个大的系统,一个是基层卫生健康云综合管理系统,另一个是基层卫生健康云业务系统。基层卫生健康云综合管理系统由运营商、开发商和监管机构使用,用来进行运营管理、运维管理和综合监管。基层卫生健康云业务系统由基层医院使用,用来支撑医院各类业务运转。
41 5
|
3天前
|
消息中间件 缓存 Java
java基于云部署的SaaS医院云HIS系统源码 心理CT、B超 lis、电子病历
云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务,提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站和护士工作站等一系列常规功能,还能与公卫、PACS等各类外部系统融合,实现多层机构之间的融合管理。
36 12
|
4天前
|
存储 缓存 前端开发
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
17 3
|
8天前
|
监控 Java BI
java基于云计算的SaaS医院his信息系统源码 HIS云平台源码
基于云计算技术的B/S架构的HIS系统源码,SaaS模式Java版云HIS系统,融合B/S版电子病历系统,支持电子病历四级,HIS与电子病历系统均拥有自主知识产权。
31 5
|
11天前
|
Java 关系型数据库 MySQL
基于swing的java物业管理系统
基于swing的java物业管理系统
19 5
|
12天前
|
设计模式 JavaScript Java
[设计模式Java实现附plantuml源码~结构型] 扩展系统功能——装饰模式
[设计模式Java实现附plantuml源码~结构型] 扩展系统功能——装饰模式
|
16天前
|
JavaScript Java 测试技术
基于Java的珠宝购物网站系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的珠宝购物网站系统的设计与实现(源码+lw+部署文档+讲解等)
26 0
|
16天前
|
JavaScript Java 测试技术
基于Java的电影评论系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的电影评论系统的设计与实现(源码+lw+部署文档+讲解等)
32 0
|
16天前
|
JavaScript Java 测试技术
基于Java的企业在线培训系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的企业在线培训系统的设计与实现(源码+lw+部署文档+讲解等)
6 1
|
16天前
|
JavaScript Java 测试技术
基于Java的医疗企业管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的医疗企业管理系统的设计与实现(源码+lw+部署文档+讲解等)
22 0
基于Java的医疗企业管理系统的设计与实现(源码+lw+部署文档+讲解等)