分类 架构 中的文章

电商搜索技术总结

回顾 本篇文章我们针对于上文”电商搜索业务总结“中的业务需求进行拆解,并以技术角度进行分析。 对于关系好的商户我想把他们的品牌优先展示,增加曝光率 新上架一款商品,我想立即在平台上搜索到 当我使用具体款号搜索时,我希望只展示这一款的商品 我希望在搜索结果页中看到更多的品牌,而不是整页都是同……

阅读全文

rabbitmq 如何提高可靠性并保证消费端幂等

什么是消息的可靠性 简单讲就是,一条消息由生产者发送出来,到 broker 上,存储到消息队列,再被消费者成功的消费。如果消息传着传着就传没了,此时消息就是不可靠的。 为什么要提高消息可靠性 拿订单或者交易举例,但凡涉及到与钱相关的系统,不允许出现任何数据偏差,如果因为在使用消息队列而丢失了数据,那……

阅读全文

面向对象的理解

背景 说起面向对象的特征,大多数人肯会不加思索的答封装、继承、多态,可能还有抽象。最近在学 DDD 的时候,感觉它更加合理的运用了设计模式和面向对象的思想去解决复杂的业务场景,还有是阅读源码的时候也会看到大量的设计模式,所以说 Design Pattern 和 Object-Oriented 熟练的话会提升很大的代码质量(编程范式后续还会讲函数式和……

阅读全文

企业平台技术框架

最近看了阿里的 TMF2.0 交易平台的介绍,觉得很有兴趣,所以展开学习,因为认知以及自身水平,对于技术平台框架理解有限,如有不当之处还望斧正。 在说 TMF2.0 之前先来说说 TOGAF。 TOGAF 全称 The Open Group Architecture Framework,及开放组织结构框架,引用 WiKi 上的介绍: 开放组体系结构框架(英语:The Open Group Architecture Framew……

阅读全文

gitlab 添加代码规范检测

环境 gitlab 10.5.X + gitlab + ali p3c.pmd 好的代码能让人赏心悦目,方便 CodeReview 进行,为此,必须强制性的将代码规范起来。 如何做 git custom hooks client hooks 客户端钩子是存在本地的,按项目去配,这样能达到目的,但是起不到强制约束的效果,而且一个一个配很麻烦 server hooks 服务器端的钩子,每个项目中的 git hooks 全都是软连接到 gitlab 上的一个位置,默认是在 1 /opt/gitlab/embedded/service/gitlab-shell/hooks……

阅读全文

操作系统作用

操作系统作用 1、资源管理者 都能管理什么? 自底向上 对于操作系统内部来讲 硬件资源 像 CPU 、内存、设备(输入输出设备、磁盘、时钟、网卡) 软件资源 磁盘上的文件,各类管理信息 如何管理 跟踪记录资源的使用情况 确定资源的分配策略 实施资源的分配与回收 提高资源利用率 保护资源的使用 协调多个进程对资源的请求……

阅读全文

技术选型怎么做

技术选型包括哪些 从个人观点出发,技术选型包括框架、工具、语言。 需要考虑的点 公司规模 团队技术水平 时间和成本 生态 风险 公司规模 小公司 对于初创公司或者小公司来讲,上级领导的意愿更多的是能够快速盈利,此时应该选择成熟便捷的框架, 尽量减少学习成本,这就属于经验优先,因为只有做出成品并且盈利,……

阅读全文

迁移到 ubuntu18 的问题及配置

今天终于下定决心安装了 Ubuntu 系统,将新系统配置成自己熟悉的模式是需要很长的一段时间,更何况是双系统。下面是我遇到的问题,经过搜索与尝试并解决。 执行关机或者重启时卡死 在卡死后强制关机再启动后我去查了一下系统日志,发现是显卡驱动的问题,因为我的电脑是双显卡,一个是 Intel 的核显,另一个是 NVIDIA 的 GTX……

阅读全文

使用 psi-probe 监控 Tomcat

psi-probe 是一款非常强大的开源 Tomcat 监控工具,使用时可以点击这里下载 配置用户: 在 tomcat/webapps/docs/deployer-howto.html 文档的 manager 下有说明 conf/tomcat-user.xml 1、添加用户 <role rolename="ahian"/> <role rolename="manager-gui"/> <role rolename="manager-status"/> <user username="ahian" password="123456" roles="ahian,manager-gui,manager-status"/> 2、在 conf 文件夹中新建 Catalina/localhost/manager.xml 并编辑 1 2 3 4 5 6 7 8 <?xml version="1.0" encoding="UTF-8"?> <Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager" > <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1"/> </Context> 3、将 probe.war 包拷贝到 webapp 下,启动 tomcat 4、访问 localhost:8080/probe……

阅读全文

Tomcat 远程 Debug

JDWP 协议介绍 JDWP 是 Java Debug Wire Protocol 的缩写,它定义了调试器(debugger)和被调试的 Java 虚拟机(target vm)之间的通信协议。 详请参考此文。 远程 Tomcat 服务器配置 修改启动文件 1 vi bin/startup.sh 在启动命令中添加启动参数 jpda exec "$PRGDIR"/"$EXECTABLE" jpda start "$@" 修改 catalina 文件(主要配置) 1 vi bin/catalina.sh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 if [ "$1" = "jpda" ] ; then if……

阅读全文