随笔分类 -  架构与设计

摘要:Maven 作为一个优秀的项目管理工具,其插件机制为其功能扩展提供了非常大的便捷性,本身它所有的功能都是插件完成的,maven自身只是一个框架。虽然说大多数情况下,我们可能不太会自己去编写 Maven 插件,但不排除在某些特殊的情况下,我们需要去完成一个自己的插件,来协助我们处理某些比较通用的事情, 阅读全文
posted @ 2024-01-14 23:16 zhjh256 阅读(122) 评论(0) 推荐(0) 编辑
摘要:目前最主流的单元测试框架是junit,其中spring boot 1.x系列主要使用junit 4,spring boot 2.x主要使用junit 5;mock类和打桩的主要框架是mockito,主要有1.x(spring boot 1.x依赖),2.x(spring boot 2.0, 2.1依 阅读全文
posted @ 2020-02-02 14:40 zhjh256 阅读(1321) 评论(0) 推荐(0) 编辑
摘要:sharding jdbc 2.x系列详解参见https://www.cnblogs.com/zhjh256/p/9221634.html。 最近将sharding jdbc的配置从xml切换到了spring boot。首先引入依赖: <dependency> <groupId>io.shardin 阅读全文
posted @ 2019-12-12 19:07 zhjh256 阅读(1760) 评论(0) 推荐(0) 编辑
摘要:下述各zookeeper机制的java客户端实践参考zookeeper java客户端之curator详解。 官方文档http://zookeeper.apache.org/doc/current/zookeeperOver.html、http://zookeeper.apache.org/doc/ 阅读全文
posted @ 2019-11-16 10:39 zhjh256 阅读(2395) 评论(0) 推荐(1) 编辑
摘要:最近要开始全面支持虚拟化了,客户私有云环境用的多的为vmware vsphere,特地恶补下vmware vsphere的各个差别。 首先是vSphere,ESXi和vCenter 的区别。 ESXi, vSphere client 和 vCeneter 都是 vSphere 的组件。ESXi是 v 阅读全文
posted @ 2019-09-13 22:05 zhjh256 阅读(24335) 评论(1) 推荐(0) 编辑
摘要:因为现有系统外部接入需要,需要支持三方单点登录。由于系统本身已经是微服务架构,由多个业务独立的子系统组成,所以有自己的用户认证微服务(不是cas,我们基础设施已经够多了,现在能不增加就不增加)。但是因为客户和其他接入(公有云网络)原因,无法通过token+redis实现,所以还需要支持外部的cas。 阅读全文
posted @ 2019-09-08 22:48 zhjh256 阅读(1314) 评论(0) 推荐(0) 编辑
摘要:本文纯属备忘,不是参考答案。 由于LZ经常要提供方案,每年总有那么几回,要根据最新的方案或新项目提供软硬件型号给各内外部客户参考,现在的硬件更新太快,所以每次去查太浪费时间,趁着最近刚整理过记录下各备忘地址供查找。 CPU Intel官网处理器子目录可以找到各种型号的cpu规格,包括基本主频、内核数 阅读全文
posted @ 2019-08-17 17:13 zhjh256 阅读(1068) 评论(0) 推荐(0) 编辑
摘要:写在开头,zk客户端、服务器对负载比较敏感,对于类似大数据处理的应用,zk心跳时间设置和监测很关键,否则非常容易系统不稳定,建议可能长时间高负载导致GC时间过长的非OLTP的尽量不使用zk或rpc,而是使用MQ或HTTP。 dubbo consumer和provider的心跳机制 dubbo客户端和 阅读全文
posted @ 2019-08-07 14:59 zhjh256 阅读(8567) 评论(1) 推荐(0) 编辑
摘要:过去的10多年里,很多大公司都在使用蓝绿部署,安全、可靠是这种部署方式的特点。蓝绿部署虽然算不上”Sliver Bullet“,但确实很实用。在有关于“微服务”、“DevOps”、“Cloud-native”的讨论中,蓝绿部署、A/B测试、灰度发布,这三种部署方式往往同时出镜。 那么问题来了,蓝绿部 阅读全文
posted @ 2019-05-26 22:25 zhjh256 阅读(1950) 评论(0) 推荐(1) 编辑
摘要:根据对各种生态组件的分析,较好的一种架构是: 存储层:使用HDFS for Parquet/Kudu/Hbase(HDFS for Parquet和Kudu各有利弊,HBase作为补充) 资源调度层:YARN(也成为MR2) 批处理:Hive(2.0中,beeline代替了hive控制台)或MapR 阅读全文
posted @ 2019-04-20 13:56 zhjh256 阅读(624) 评论(0) 推荐(0) 编辑
摘要:在设计系统时,应该多考虑 墨菲定律: 任何事物都没有表面看起来那么简单。 所有的事都会比你预计的时间长。 可能出错的事总会出错。 如果你担心某种情况发生,那么他就更有可能发生。 在划分系统时,应该多考虑 康威定律: 系统架构是公司组织架构的反映。 应该按照业务闭环进行系统拆分/组织架构划分,实现闭环 阅读全文
posted @ 2019-04-07 18:01 zhjh256 阅读(426) 评论(0) 推荐(0) 编辑
摘要:微服务这个概念一直很火,现在ServiceMesh概念更火,最近我经手的多个项目也都采用微服务的方式开发。但实践发现,当一个RD同时开发超过2个微服务的时候,出现bug或故障的概率会提升。 我现在看项目的时候会不自觉的关注工程服务拆分个数和研发人数的比值。虽然这么做,我却说不出来个所以然,也没有找到 阅读全文
posted @ 2019-04-07 18:01 zhjh256 阅读(560) 评论(0) 推荐(0) 编辑
摘要:所谓康威定律 有一位叫康威的人,提出一个观点:设计系统的组织,其产生的设计等同于组织之内、组织之间的沟通结构。其实,这里的系统并不局限于软件领域的系统。康威对其定律又做了具体解读: 组织沟通方式会通过系统设计表达出来。 时间再多一件事情也不可能做得完美,但总有时间做完一件事情。 线型系统和线型组织架 阅读全文
posted @ 2019-04-01 08:38 zhjh256 阅读(386) 评论(0) 推荐(0) 编辑
摘要:概述 微服务架构是一种非常流行的新概念,即便可供以借鉴的经验比较少,当然不能阻挡它成为热门话题与研究对象。 令人惊讶地是,其实微服务的概念早在五十多年前就已经被提出,多年来,很久研究表明了这些观点的准确性。这就是本文所介绍的——康威定律。现在已经有很多企业正在尝试使用它创建高效的微服务架构。 在这篇 阅读全文
posted @ 2019-04-01 07:29 zhjh256 阅读(507) 评论(0) 推荐(0) 编辑
摘要:首先,看动物矩形框,它代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。前面的符号,+ 表示public,- 表示private,# 表示protected。 右下角的飞翔,它表示一个接口 阅读全文
posted @ 2019-03-29 15:33 zhjh256 阅读(275) 评论(0) 推荐(0) 编辑
摘要:rabbitmq的RabbitMQ Web MQTT插件可以用来支持将rabbitmq作为MQTT协议的服务器,而websocket支持mqtt协议通信实现消息推送。因为我们目前使用rabbitmq,所以采用其作为ws的服务端(原来有过activemq的做法,其原生也支持MQTT协议)。 首先安装R 阅读全文
posted @ 2019-03-18 08:35 zhjh256 阅读(7842) 评论(0) 推荐(0) 编辑
摘要:本文主要考虑单点登录场景,登录由其他系统负责,业务子系统只使用shiro进行菜单和功能权限校验,登录信息通过token从redis取得,这样登录验证和授权就相互解耦了。 用户、角色、权限进行集中式管理。网上不少这样的提问,但是没有解决方案、抑或只是说明如何做,并没有完整的现成解决方法。 Apache 阅读全文
posted @ 2019-01-25 13:19 zhjh256 阅读(3039) 评论(0) 推荐(0) 编辑
摘要:版本介绍 目前最新版本为2.3(20190808更新)。demo搭建可参见https://www.orchome.com/6,收发消息测试可见https://www.cnblogs.com/yoyo1216/p/14024427.html。 从使用上来看,以0.9为分界线,0.9开始不再区分高级(相 阅读全文
posted @ 2018-09-20 10:58 zhjh256 阅读(9415) 评论(2) 推荐(2) 编辑
摘要:最近我们有个使用了jbpm 6.2(6.2是一个较大的里程碑)的批处理模块,因为大BOSS一直觉得太重了,希望有更加轻量级的解决方案,因为我们基本上没有真正意义上流程的概念,只有静态的流程图,因为一直忙于其他事情,于是这周才正式开始研究jbpm的一些细节(前几年很多支持的项目中也接触过,不过更多的是 阅读全文
posted @ 2018-08-27 21:58 zhjh256 阅读(3602) 评论(0) 推荐(0) 编辑
摘要:https://github.com/spring-projects/spring-loaded/wiki 阅读全文
posted @ 2018-08-25 13:07 zhjh256 阅读(514) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示