
架构宗师:武林奇侠的技艺传承
文章平均质量分 92
架构是指系统或应用程序的设计和组织方式,它定义了系统中各个组件之间的关系、交互方式以及整体结构。在软件开发领域,架构通常涉及到软件模块、数据流、用户界面、系统性能等方面的设计。
一个好的架构不仅要满足功能需求,还需要具备可扩展性、可维护性、可靠性和安全性等特点。
进击的雷神
优快云博客专家、担任过EMV软件工程师、嵌入式软件工程师、JAVA开发工程师、测试开发工程师、某公司测试组长,有自己的测试专利
展开
-
Nginx负载均衡以及keepalived高可用实验
此时master上的ip 10.1.1.222已经生成,backup上此时需等master keepalived停掉后会自动生成vip 10.1.1.222。Keepalived-master 和backup 安装keepalived 和ipvsadm(lvs安装包)四台机器上安装nginx,编译安装的话需要另外安装pcre包支持,安装在/usr/local/nginx。安装完成后master和backup /etc/init.d/keepalived start。原创 2023-08-12 05:30:00 · 329 阅读 · 0 评论 -
正则表达式30分钟入门教程
当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都记不得,那也是很正常的。下面是一些未提到的元素的列表,包含语法和简单的说明。如果能使用算术比较的话,或许能简单地解决这个问题,但是正则表达式中并不提供关于数学的任何功能,所以只能使用冗长的分组,选择,字符类来描述一个正确的。要想查找数字,字母或数字,空白是很简单的,因为已经有了对应这些字符集合的元字符,但是如果你想匹配没有预定义元字符的字符集合。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求。原创 2023-08-11 06:30:00 · 173 阅读 · 0 评论 -
通向架构师的道路之weblogic的集群与配置
² Weblogic的集群必须设立一个总控端,可从上图中看出,然后这个总控端我们把它称为AdminServer,然后在其下可以挂weblogic的集 群的node,这个node不是物理上不同的两个weblogic,而是不同的domain,我们假设domain1, domain2为两个weblogic的集群的节点。嘿嘿,千万不要把这个JDBC连接池的“target”即作用域设错了哈,我们现在是集群,要把这个JDBC连接池的作用域设在我们的集群上的哈!是的,果然,它自动布署了。原创 2023-08-09 06:00:00 · 991 阅读 · 0 评论 -
通向架构师的道路之weblogic与apache的整合与调优
BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、 网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。BEA WebLogic Server拥有处理关键Web应用系统问题所需的性能 、可扩展性和高可用性。与BEA WebLogic Commerce ServerTM配合使用, BEA WebLogicServer可为部署适应性个性化电子商务应用系统提供完善的解决方案。原创 2023-08-08 06:00:00 · 432 阅读 · 0 评论 -
通向架构师的道路之漫谈使用ThreadLocal改进你的层次的划分
就会抛上述这个错误。返回该线程局部变量的初始值,该方法是一个protected的方法,显然是为了让子类覆盖而设计的。如果我一个Service方法有调用一堆dao方法,先不说这样写首先破坏了OOP的封装性原则,如果有一个dao多关了一个conn,那就会导致其它的dao得到的conn为null,这种事在这样的写法下由其当你还有业务逻辑混合在一起时很容易发生。需要指出的是,当线程结束后,对应该线程的局部变量将自动被垃圾回收,所以显式调用该方法清除线程的局部变量并不是必须的操作,但它可以加快内存回收的速度。原创 2023-08-07 06:00:00 · 185 阅读 · 0 评论 -
通向架构师的道路之基于数据库的权限系统的设计
前 面我们用的是Oracle特有的递归SQL将树形菜单在从数据库中选取出来时就已经是一颗树的结构了,但是像MYSQL,SQL SERVER, DB2等可能不带有这样的特SQL,那就需我们自己动手去写递归,还有就是很多工程用的是jquery的tree或者是其它相关的ajax tree,这些tree都需要用到一个字段叫level(此处指深度、层次的意思),如果按照原来的表结构,要取得这个level,恐怕是要写递归算法 了。看到么,原有的最外层椭园的rgt+2,原有的报表查询这个园的右边界呢?原创 2023-08-06 06:30:00 · 299 阅读 · 0 评论 -
quartz在集群环境下的最终解决方案
只有实例化进入数据库后才能做集群,外面的解决方案说实例化在内存里全部是错的,把quartz-1.8.4/docs/dbTables/tables_oracle.sql。上或者在各大论坛里提供的解决方案,要么是只解决了一部分,要么是错误的,要么是版本太老,要么就是完全抄别人的。),目前网上的解决方案全部是错的或者干脆没说,本人在此方案中也会提出如何解决。那多线程里就会存在“资源竞争”的问题,即可能产生脏读,脏写,由于三台。方法,是不支持序列化的,因此在把QUARTZ。发布,这些都是不好的方法,是不安全的。原创 2023-08-05 06:00:00 · 431 阅读 · 0 评论 -
通向架构师的道路之tomcat集群
所 以我们还是必须在两台Tomcat里布署Quartz,然后使用HA的原则,即一个Quartz在运行时,另一台Quartz在监视着,并且不断的和另一 个Quartz之间保持勾通,一旦运行着的Quartz崩掉了,另一个Quartz在指定的秒数内起来接替原有的Quartz继续运行,对于 Quartz,我们同样也是面临着一个熊掌与鱼不能皆得的问题了,Quartz本身是支持集群的,而它支持的集群方式正是HA,和我们想的是一致的。这不是影响效率和增加出错机率了吗?原创 2023-08-04 06:00:00 · 245 阅读 · 0 评论 -
通向架构师的道路之Tomcat性能调优
这 个参数一般我们都是放在最后使用的,这全参数的作用是这样的,有时我们会在我们的J2EE工程中使用一些图表工具如:jfreechart,用于在web 网页输出GIF/JPG等流,在winodws环境下,一般我们的app server在输出图形时不会碰到什么问题,但是在linux/unix环境下经常会碰到一个exception导致你在winodws开发环境下图片显 示的好好可是在linux/unix下却显示不出来,因此加上这个参数以免避这样的情况出现。好了,所有的Tomcat优化的地方都加上了。原创 2023-08-03 06:30:00 · 156 阅读 · 0 评论 -
通向架构师的道路之apache性能调优
容易看出,点击率越大。这 是一个波浪型的(或者也可以说是锯齿型的)趋势图,随着VU数量的一点点增加,我们的内存使用数会不断的增加,但是JVM的垃圾回收是自动回收机制的,因 此如果你的JVM如上述样的趋势,内存上涨一段时间,随即会一点点下落,然后再上涨一点,涨到快到头了又开始下落,直到最后你的VU数量全部下降下来时, 你的JVM的内存使用也会一点点的下降。就好比你有个1MB的带宽,你传的东西是超过4MB,你要它 在2秒内跑完理论速度也做不到啊,对吧,所以有些报表或者数据,光前面传输时间就不止两秒了。原创 2023-08-02 06:00:00 · 290 阅读 · 0 评论 -
通向架构师的道路之apache_tomcat_https应用
首先,客户端发起握手请求,服务器收到握手请求后,会选择适合双方的协议版本和加密方式。,直接就登进了80端口(如果你机器上的Apache开放的话),这样好极了,所有的http中的get, put, post全部可以被我们截获,你的上网帐号,你提交的表单信息全部被别人拦截,就算你对一些信息加了密,对于黑客来说,这些加密被解密只是时间问题,而且一般黑客可以利用云计算,群集计算对你的加密可以进行“硬杀伤”,即穷举算法,利用超大规模集群解密的你的算法会很快,电影里的几十秒解开一个128位的加密不是神话,是真的!原创 2023-08-01 05:30:00 · 1029 阅读 · 0 评论 -
通向架构师的道路之Apache整合Tomcat
把 mod_jk-1.2.31-httpd-2.2.3.so手工copy进我们的Apache安装目录的modules目录下,这个文件的全名叫: mod_jk-1.2.31-httpd-2.2.3.so,大家可以从ftp上的“/JavaArchitect/mod_jk/”目录中获取,因为这 个文件是我用C++在本地重新编译过的,网上下载的是src即源码,省去大家再去编译的时间了,而且一些其它网上下载的mod_jk.so是无法使用的。任何的DB连接与管理只能通过内网即在公司企业内部来访问,就是这个道理。原创 2023-07-31 01:00:00 · 477 阅读 · 0 评论