《2019年Java容器化部署-从应 用服务器到云原生.pdf》由会员分享,可在线阅读,更多相关《2019年Java容器化部署-从应 用服务器到云原生.pdf(33页珍藏版)》请在三个皮匠报告上搜索。
1、Java 容器化部署 从应用服务器到云原生永源中间件 1.Java 应用程序的部署方式 2.三个迷思困惑 3.容器镜像包和软件启动速度 4.Java Cloud Native 概述 1.哪个在先,哪个在后?2.部署包的体积,占用的内存 3.更容易运维管理 4.组件间交互和效率 迷思之一:单体 vs 微服务 IDL文件=客户端,服务器代码 编写服务器实现 编译成多个可执行文件 多个服务器进程运行 注册到命名服务器中 集群和高可用 编写脚本,维护服务器运行 Java刚诞生时 都是微服务架构 Corba?gRPC?Dubbo?多种语言?Java?接口定义?IDL?IDL?Java Interface
2、?协议?IIOP?Protobuf/Http2?dubbo等多种?异步响应式?callback?stream?callback?服务治理?对照表:业界主流技术发展 浏览器和前端技术 GUI?客户端?RPC?浏览器?HTTP?通信?浏览器?HTTP?浏览器?REST?终端设备?REST?1 传统Client-Server 2 J2EE 3 JavaEE with Spring 4 JS 框架和 REST 5 Microservice架构 基于 Java EE,依赖注入框架,集成了各种技术库 Spring Framework Java EE?Spring Framework?依赖注入?CDI?Io
3、C Container?AOP?Intercepter?Spring AOP?Persistence?JPA?JPA,JDBC,SpringData?Transaction?JTA,EJB?JTA,JDBC,JPA?Rest?JaxRS?SpringMVC?Messaging?JMS,EJB?Spring Messaging,JMS?Security?JavaEE Security,EJB,Servlet?Spring Security?架构 部署包组成 部署包?是否可执行?应用服务器容器?说明?CS?独立服务器jar?客户端维持状态?JEE?ear,war,jar?Servlet/EJB?分
4、布对象的争议?Spring web?war?Servlet?MVC模式?JS/Rest?war?Servlet?异步响应式?Java微服务?war or jar?可选?三个维度划分?复制状态 Servlet 的 Session 信息 有状态 Session Bean Hibernate 缓存 Wildfly 利用 Infinispan 优化后性能上乘(状态缓存在JVM中)应用服务器集群 状态复制 基于 Spring 的可引导的程序 可选择不同的 Servlet Starter 开发微服务应用 与 Servlet 容器包含关系:和Spring框架开发的war包正好相反 Spring Boot?S
5、pring Boot?Tomcat Starter?Configuration VS War?Spring Framework?Tomcat Spring Cloud 和 MicroProfile 微服务要考虑的要素 微服务要素?Spring Cloud?Microprofile?配置管理?Config server?Config?服务发现?Eureka?JavaEE naming?负载均衡?Ribbon?By Application Server?性能指标?Spring Boot Actuator?Metrics,health?分布式跟踪?Spring Cloud Sleuth?Opentr
6、acing?故障容错?Hystrix?Fault-tolerance?路由和拦截器?Zuul?JavaEE Servlet,interceptor?以 Spring 微服务举例:JDKSpring Boot Spring Cloud 各种三方库 Jar 包非常庞大 启动时,需要相关服务就绪 Java微服务?Spring Boot?Tomcat Starter?Configuration JPA Starter?Messgaing Starter?Starter?Spring Could?Config?Eureka?Zuul?Management Java 包,功能为返回REST数据信息 部署包