原著地址:
https://blog.csdn.net/
lifetragedy/article/details/8198867
通向架构师的道路
目录
(第一天)之 Apache 整合 Tomcat...............................................................................................14
一、先从 J2EE 工程的通用架构说起...................................................................................14
二、动手来架构......................................................................................................................15
2.1 Oracle 数据加的安装与配置............................................................................................15
2.2 App Server 的安装.............................................................................................................16
2.3 Web Server 的安装............................................................................................................16
2.4开始安装 Apache Http Server...........................................................................................16
2.5 Apache 的配置...................................................................................................................20
2.6整合 Apache 与 Tomcat.....................................................................................................23
三、用于实验的 cbbs 工程配置.............................................................................................26
(第二天)之 apache tomcat https 应用........................................................................................27
一、总结前一天的学习..........................................................................................................27
二、HTTPS..............................................................................................................................28
2.1 HTTPS 介绍.......................................................................................................................28
2.2 HTTPS 的构成...................................................................................................................29
2.3证书与如何生成证书的基本概念....................................................................................31
2.4实际开发实验中如何产生证书........................................................................................34
2.5使用 OpenSSL 来签证书..................................................................................................34
2.6为 Apache HttpServer 布署 https 协议..............................................................................48
2.7为 Tomcat 也布署 https 协议.............................................................................................51
2.8生成 Tomcat 的 SSL 证书..................................................................................................51
2.9布署 Tomcat 上的 Https 协议............................................................................................54
2.10 apache https + tomcat https..............................................................................................54
(第三天)之 apache 性能调优.....................................................................................................55
一、总结前一天的学习..........................................................................................................55
二、从性能测试谈起..............................................................................................................55
2.1性能测试简介....................................................................................................................55
2.2合理的制定系统最大用户、并发用户...........................................................................56
2.3影响和评估性能的几个关键指标....................................................................................56
2.4合理的性能测试................................................................................................................58
三、Apache 服务器的优化.....................................................................................................61
3.1 Linux/UnixLinux 系统下 Apache 并发数的优化............................................................61
3.2 WindowsWindows 系统下 Apache 并发数的优化..........................................................65
3.3启用服务端图片压缩........................................................................................................66
3.4 Apache 中将 MS 办公文档自动关联客户端的 MS-Office.............................................67
3.5防止 DDOS 攻击...............................................................................................................67
3.6 Apache 中设置 URL 含中文附件的下载/打开的方法(仅限 Linux 系统下)............69
3.7不可忽视的 keepalive 选项...............................................................................................70
3.8 HostnameLookups 设置为 off...........................................................................................72
(第四天)之 Tomcat 性能调优-让小猫飞奔...............................................................................72
一、总结前一天的学习..........................................................................................................72
二、一切基于 JVM(内存)的优化.....................................................................................73
2.1 32 位操作系统与 64 位操作系统中 JVM 的对比...........................................................73
2.2 Tomcat 启动行参数的优化...............................................................................................74
2.3 Tomcat 容器内的优化.......................................................................................................77
(第五天)之 tomcat 集群-群猫乱舞............................................................................................81
一、为何要集群......................................................................................................................81
二、集群分类..........................................................................................................................82
2.1横向集群............................................................................................................................83
2.2纵向集群............................................................................................................................83
2.3横向还是纵向....................................................................................................................84
2.4 Load Balance 与 High Available........................................................................................84
三、集群架构中需要解决的问题..........................................................................................85
3.1解决上传文件同步的问题................................................................................................85
3.2解决 Quartz 在集群环境中的同步问题...........................................................................85
四、布署 Tomcat 集群............................................................................................................86
4.1 Apache 中的配置...............................................................................................................86
4.2 tomcat 中的配置................................................................................................................88
4.3启动集群............................................................................................................................91
(第六天)之漫谈基于数据库的权限系统的设计.....................................................................93
一、权限系统..........................................................................................................................93
二、先来看客户的一个需求..................................................................................................93
2.1用户实际需求....................................................................................................................94
2.2系统权限菜单样例............................................................................................................94
三、基于数据库的系统权限表设计......................................................................................94
3.1 ER(Entity Relationship)图.................................................................................................94
3.2表关系详解........................................................................................................................95
3.3界面制作..........................................................................................................................100
四、改进 T_SYSTEM_MENU 表的设计............................................................................102
4.1基于 lft, rgt 的无限分类算法..........................................................................................103
4.2如何在现有节点中插入新的子节点.............................................................................104
4.3如何插入一个新的节点..................................................................................................107
4.4 如何删除一个节点..........................................................................................................109
(第七天)之漫谈使用 ThreadLocal 改进你的层次的划分.....................................................111
一、什么是 ThreadLocal.......................................................................................................111
二、来看一个实际案例........................................................................................................113
2.1同一 Service 方法中调用多个 Dao 方法........................................................................113
2.2传统的做法......................................................................................................................114
2.3 Spring 中的做法..............................................................................................................115
2.4利用 ThreadLocal 制作 ConnectionManager..................................................................116
2.5利用 ThreadLocal 改造 Service 与 Dao 层......................................................................117
2.6使用 ThreadLocal 分离 Service、DAO 层.....................................................................118
2.6.1 ConnectionManager 类.........................................................................................121
2.6.2 DBConnection 类..................................................................................................122
2.6.3 JdbcProperties 类..................................................................................................123
2.6.4 Resource 目录下的 jdbc.properties......................................................................124
2.6.5 StudentService 接口..............................................................................................125
2.6.6 StudentServiceImpl 类..........................................................................................125
2.6.7 ClassRoomDAO 接口...........................................................................................126
2.6.8 ClassRoomDAOImpl 类.......................................................................................126
2.6.9 StudentDAO 接口.................................................................................................127
2.6.10 StudentDAOImpl 类...........................................................................................127
2.6.11 StudentDAOSql 类..............................................................................................129
2.6.12 ClassRoomDAOSql 类.......................................................................................129
2.6.13 ClassRoom类.....................................................................................................129
2.6.14 Student 类............................................................................................................130
2.6.15 StudentCRUD 类(运行主类)........................................................................131
三、Hibernate 里的 ThreadLocal..........................................................................................132
3.1 getCurrentSession 与 openSession 的区别......................................................................132
3.1.1 openSession...........................................................................................................133
3.1.2 getCurrentSession.................................................................................................134
3.1.3 openSession 与 getCurrentSession 的区别...........................................................135
3.1.4 getCurrentSession 带来的问题............................................................................136
(第八天)之 weblogic 与 apache 的整合与调优......................................................................137
一、BEAWeblogic 的历史....................................................................................................137
二、Weblogic 对各 jdk 版本的支持.....................................................................................138
三、Weblogic 的安装............................................................................................................138
3.1 32 位的 weblogic.............................................................................................................138
3.2 64 位的 weblogic.............................................................................................................139
3.3安装..................................................................................................................................139
四、使用 Weblogic................................................................................................................148
4.1建立 domain.....................................................................................................................148
4.2.1启动 weblogic 前的准备工作..............................................................................158
4.2.2启动 weblogic.......................................................................................................161
4.2.3如何让 Weblogic 每次启动时不用再输入用户名和密码.................................162
4.2.4配置 Weblogic 的数据源......................................................................................164
4.2.5调优 Weblogic 的数据源......................................................................................170
4.2.6部署 web 应用......................................................................................................177
五、整合 Weblogic 与 Apache..............................................................................................183
(第九天)之 weblogic 的集群与配置.......................................................................................186
一、Weblogic 的集群............................................................................................................186
二、创建 Weblogic 集群前的规划.......................................................................................188
三、开始创建我们的 Weblogic 集群...................................................................................189
3.1创建集群的总控制端(aminserver)............................................................................189
3.2创建集群中的节点(mycluster1, mycluster2)............................................................199
3.3如何启动集群..................................................................................................................203
四、jdbc 集群........................................................................................................................205
五、把工程布署到集群环境中去........................................................................................209
六、使用 Apache 与 Weblogic 集群整合.............................................................................215
七、JMS 集群........................................................................................................................216
(第十天)之 Axis2 Web Service(一).........................................................................................225
一、Axis2 简介.....................................................................................................................225
1.1介绍 Axis2.......................................................................................................................225
1.2开发项目中如何选择使用 Axis2 和其它的 WebService..............................................226
二、搭建环境........................................................................................................................226
三、第一个 Axis2Webservice 之 HelloWorld......................................................................231
3.2 Service 端的 Web Service 布署文件...............................................................................231
3.3布署 Web Service.............................................................................................................233
四、四种不同的 HelloWorld 客户端...................................................................................235
4.1传统的客户端 HelloWorldWithReturnClient.java..........................................................235
4.2非阻塞式 HelloWorldWithReturnNonBlock.java...........................................................239
4.3非阻塞式双工 HelloWorldWithReturnDualNonBlock.java...........................................242
4.4 运行双工异步客户端前的准备工作.............................................................................246
(第十一天)之 Axis2 Web Service(二).....................................................................................246
一、总结前一天....................................................................................................................246
二、使用简单 Java 类型书写我们的 WebService...............................................................247
三、深入理解 Axis2 的 API 的写法....................................................................................254
3.1先来看调用端的生成......................................................................................................254
3.2再来看如何解析返回的值..............................................................................................257
四、复杂类型的 Webservice................................................................................................258
(第十二天)之 Axis2 Web Service(三).....................................................................................265
一、SOAPIn Axis2................................................................................................................265
二、客户端与服务端使用 SOAP 进行通讯........................................................................266
三、服务端将 Exception 以 SOAPFault 的形式抛给客户端.............................................271
四、使用 SWA(Soap WithAttachment)来进行附件传送..............................................276
附录 UUID.java.....................................................................................................................282
(第十三天)Axis2 Web Service 安全初步................................................................................282
一、WSSecurity 简述............................................................................................................282
二、基于 https 通信并且使用用户名密码来验证的 WS...................................................283
2.1错误做法..........................................................................................................................283
2.2正确的做法......................................................................................................................284
三、实际例子........................................................................................................................284
3.1 Service 端.........................................................................................................................285
3.2制作 client 端前的准备...................................................................................................289
3.2.1制作 CA................................................................................................................290
3.2.2制作 tomcat 的证书即 jks 格式文件....................................................................291
3.2.3将 RootCA 导入 IE 的根证书列表中去..............................................................293
3.3需要为我们的 Axis2 的调用客户端也建立起 https 中的互信.....................................294