![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构落地手记
文章平均质量分 88
架构落地手记
李景琰
专注Java/Go/Python/大数据/前端/文档/运维等,网站/后台/小程序/H5/电脑DIY等。
沉淀、成长、突破,超越自己,才是真的高贵!
展开
-
Shiro应用到Web Application
相关Jar包,http://incubator.apache.org/shiro/download.html。配置参数可以写在web.xml文件中,也可以单独文件形式存放在本地类根路径、文件系统以及网络环境中。使用技术手段(如:MD5、SHA等)把待加密的数据变为密文(如:信息摘要等)过程。例如:导出报表、查看id号为“PO20090008”的采购单、创建FAQ。判断你(被认证者)是谁的过程。用户账号Account,可以简单的理解为用户。判断被认证者(你)是否能做什么操作的过程。原创 2023-10-05 15:06:16 · 275 阅读 · 0 评论 -
Windows安装Neo4j
图数据库是基于图论实现的一种NoSQL数据库,其数据存储结构和数据查询方式都是以图论(它以图为研究对象图论中的图是由若干给定的点及连接两点的线所构成的图形)为基础的, 图数据库主要用于存储更多的连接数据。原创 2023-09-12 18:50:13 · 462 阅读 · 0 评论 -
记一次Mycat分库分表实践
例如博客的冷数据表,假如分为100个表,当同时有100万个用户在浏览时,如果是单表的话,会进行100万次请求,而现在分表后,就可能是每个表进行1万个数据的请求(因为,不可能绝对的平均,只是假设),这样压力就降低了很多。顾名思义,就是数据分散,将一台主机上的数据分摊到多台,减轻单台主机的负载压力,有两种切分方式,一种是分库,即按照业务模块分多个库,每个库中的表不一样,还有一种就是分表,按照一定的业务规则或者逻辑将数据拆分到不同的主机上,每个主机上的表是一样的,这个有点类似于Oracle的表分区。原创 2024-07-25 08:41:32 · 1138 阅读 · 0 评论 -
JNI之Java实现蓝牙交互
蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间,通过蓝牙设备之间的无线通信实现数据传输,实现数据传输,音频传输,文件传输,图片传输等多种应用的无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。原创 2023-08-06 11:38:16 · 1043 阅读 · 0 评论 -
规则引擎技术解决方案
Drools是⼀款由JBoss组织提供的基于Java语⾔开发的开源规则引擎,可以将复杂且多变的业务规则从硬编码中解放出来,以规则脚本的形式存放在⽂件或特定的存储介质中(例如存放在数据库中),使得业务规则的变更不需要修改项目代码、不⽤重启服务器就可以在线上环境立即生效。Drools官网地址:https://drools.org/ drools源码下载地址:https://github.com/kiegroup/drools。原创 2023-08-04 18:21:02 · 261 阅读 · 0 评论 -
MySQL读写分离和分库分表解决方案
是自增序列,毫秒内计数,12 位的计数顺序号支持每个节点每毫秒产生 4096 个 ID 序列。原创 2023-07-19 12:12:26 · 492 阅读 · 0 评论 -
ELK日志管理平台架构和使用说明
对每个request和response的header增加uid和traceId,同时向log4j.MDC中加入uid和traceId,即可向日志中写入该参数,该项非必须操作。3.2 .Net应用1. 这里以NLog组件为例:首先需要引入NLog组件;2. 修改NLog.config配置文件,加入TCP连接方式;黄色字体部分为需要从配置中心获取日志解析服务对应的配置项,进行动态更新;粉色部分为定义的变量,这里用来表示一级标识;这里用来表示二级标识;原创 2023-07-29 21:53:08 · 444 阅读 · 0 评论 -
热点活动-秒杀功能设计
秒杀活动是提升购买率的营销活动,商家可结合活动前预热的措施拉新促活,引导客户在有限的时间内完成超低价的抢购。对比其他的营销活动,秒杀限时性更强,抢购氛围更浓,可营造出一种不是所有人都能抢到的刺激感。秒杀与限时促销功能的区别在于应用的场景不同,限时促销往往是被商家作为一种日常的促销(如我们商城版本的买两年送两年),而秒杀倾向于作为一种阶段性(限时感更强)的营销。原创 2023-07-27 21:18:55 · 187 阅读 · 0 评论 -
营销系统积分数据库设计
积分商城/系统是指将用户在使用产品或服务时产生的积分,通过兑换礼品、优惠券等方式进行回馈和激励。这种方式将传统的消费者购买商品的行为转变为参与积分活动,增强了用户对品牌的认知和粘性。而积分商城/系统作为一种新型的营销方式,正受到企业的青睐。会员积分信息表 VipMemberPointValue。会员积分表 MemberPointChangeLog。会员额外信息表 VipExtraInfo。商家会员积分信息 MemberCard。会员额外信息,用Json进行模板描述。积分编号类别,1:增加,2:减少。原创 2023-07-27 20:55:57 · 141 阅读 · 0 评论 -
分布式锁:Redis、Zookeeper
使用Redis还是Zookeeper来实现分布式锁,最终还是要基于业务来决定,可以参考以下两种情况:(1)如果业务并发量很大,Redis分布式锁高效的读写性能更能支持高并发。(2)如果业务要求锁的强一致性,那么使用Zookeeper可能是更好的选择。(3)在做技术选型的时候,也应该酌情考虑团队成员技能及现有资源情况,如果。性能角度:redis > zk > mysql安全角度:zk > redis == mysql难易程度:zk > redis > mysql。原创 2023-07-22 18:10:24 · 419 阅读 · 0 评论 -
VMware将虚拟机网络设置为NAT模式
编辑路径/etc/sysconfig下的文件network vi /etc/sysconfig/network ,加入一条语句:NETWORKING=yes(网络是否工作:是)配置公共DNS服务,在vi /etc/resolv.conf文件里增加:nameserver 8.8.8.8、nameserver 8.8.4.4。BOOTPROTO=none #ip获取方式,DHCP为自动获取,静态IP为none和static。关闭防火墙服务:systemctl stop firewalld.service。原创 2023-07-12 19:43:33 · 2945 阅读 · 0 评论 -
微服务的划分姿势分享
稳定的、不经常修改的划分一块;这里的成本对大部分中小团队来说都是必须要考虑的重要环节,如果投入和收益不能成正比,或者超出领导的预算或者市场窗口,那么先进的技术就是绊脚石,千万不要迷恋技术,所谓工程师思维千万要不得。传统的团队划分是按照产品部、前端、后端横向划分,微服务化以后的团队可能就会是吃一张披萨饼的人数,产品、前端、后端被归类到服务里面,以服务为中心来分配人数。以下谈到的拆分是前人经验的总结,我罗列了三种行家的拆分姿势,每个的的经验和视野不同,各有偏颇,我在这里更多的是谈共鸣和感受,希望对你有所启发。原创 2023-07-07 19:26:12 · 1125 阅读 · 0 评论 -
微服务网关技术选型:Zuul2、Gateway、OpenResty、Kong
网关的角色是作为一个API架构,用来保护、增强和控制对于API服务的访问。它是一个处于应用程序或服务(提供REST API接口服务)之前的系统,用来管理授权、访问控制和流量限制等。这样REST API接口服务就被网关保护起来,对所有的调用者透明。因此,隐藏在API网关后面的业务系统就可以专注于创建和管理服务,无需关心这些策略性的请求。原创 2023-07-07 18:38:05 · 1142 阅读 · 0 评论 -
事务及分布式事务解决方案
事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。在计算机系统中,更多的是通过关系型数据库来控制事务,利用数据库本身的事务特性来实现,因此叫数据库事务,由于应用主要靠关系数据库来控制事务,而数据库通常和应用在同一个服务器,所以基于关系型数据库的事务又被称为本地事务。数据库事务的四大特性 ACID:构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失败的情况。 在事务执行前后,数据库的一致性约束没有被破坏。比如:张三向李四转100元, 转账前和转账原创 2023-05-06 13:25:12 · 781 阅读 · 0 评论 -
微服务全链路追踪选型:Zipkin、Pinpoint、SkyWalking、CAT
在系统完成一次业务调用的过程中,把服务之间的调用信息(时间、接口、层次、结果)打点到日志中,然后将所有的打点数据连接为一个树状链条就产生了一个调用链。跟踪系统把过程中产生的日志信息进行分析处理,将业务端到端的执行完整的调用过程进行还原,根据不同维度进行统计分析;从而标识出有异常的服务调用,能够快速分析定界到出异常的服务;同时可根据数据统计分析系统性能瓶颈。调用链追踪原理。原创 2023-05-03 16:06:24 · 1123 阅读 · 0 评论 -
微服务监控系统选型:Zabbix、Open-Falcon、Prometheus
包括:电源状态、CPU 状态、机器温度、风扇状态、物理磁盘、raid 状态、内存状态、网卡状态。包括:数据库连接数、QPS、TPS、并行处理的会话数、缓存命中率、主从延时、锁状态、慢查询。原创 2023-04-28 09:41:28 · 1071 阅读 · 0 评论 -
微服务注册中心选型:Zookeeper、Eureka、Nacos、Consul和Etcd
在启动时,向 Registry 注册自身服务,并向 Registry 定期发送心跳汇报存活状态。:在启动时,向 Registry 订阅服务,把 Registry 返回的服务节点列表缓存在本地内存中,并与 RPC Sever 建立连接。:用于保存 RPC Server 的注册信息,当 RPC Server 节点发生变更时,Registry 会同步变更,RPC Client 感知后会刷新本地 内存中缓存的服务节点列表。原创 2023-04-27 17:45:30 · 1832 阅读 · 0 评论 -
大数据架构设计与数据计算流程
Ambari、CDH(Cloudera版本)、HDP(Hortonwork版)、CDP(Cloudera和Hortonwork合并版本,收费)、USDP(国产UCloud版)、CRH(基于Apache Ambari+Apache BigTop)、TDH(星环收费闭源)。HBase、TiDB、ClickHouse、InfluxDB(时序数据库)、GraphQL、Elasticsearch、Apache Doris等。DWD 数据仓库层:经过ODS清洗、处理后的一致性、准确的、干净的数据。原创 2023-03-08 20:07:42 · 4592 阅读 · 0 评论 -
微服务配置中心选型,Nacos、Apollo、Config
Spring Cloud Config使用2.0.0.M9版本,Apollo使用1.2.0 release版本,Nacos使用0.5版本。将所有代码中的基础依赖(如数据库、分布式存储等)相关配置回收到配置中心(acm或其他开源工具)管理,提升安全性,使资源可复用,减少因版本差异带来的开发工作量。如果接入开源配置中心,根据以上数据分析,建议使用Apollo(功能完善,但是配置复杂)或nacos(功能简单,配置简单,能满足要求,但是文档不够丰富)。原创 2023-04-24 19:03:30 · 411 阅读 · 0 评论 -
工作流技术解决方案及选型
概述工作流现状工作流是实现企业业务过程建模、业务过程仿真、业务过程管理与集成,从而实现最终业务过程自动化的核心技术。原创 2023-03-14 15:44:52 · 271 阅读 · 0 评论 -
MongoDB+springboot+spring+MongoTemplate简单Demo
【代码】MongoDB+springboot+spring+MongoTemplate简单Demo。原创 2023-03-13 21:44:33 · 106 阅读 · 0 评论 -
Spring集成Hibernate
HibernateDaoSupport 包含HibernateTemplate 模板类,spring 对Hibernate再一次的封装, 使得代码可以更加简洁。声明式事务: 即在配置文件里,配置哪些方法是需要事务的。这些方法的事务的启动和提交,都交给 Spring 来处理。如果只是读取数据但不修改数据,可以设置read-only为true,对hibernate 可以有更好的优化。注意,dao的配置的parent 属性要设置成baseDao。业务操作可能是包含不同的dao的几个操作的。原创 2023-03-10 09:59:57 · 812 阅读 · 0 评论 -
SpringCloud+SpringCloudAlibaba
SOA,面向服务架构。SOA中心化的实现方式就是ESB(企业服务总线),依靠ESB,集成不同系统、不同协议的服务,连接各个服务节点,做消息的转化解释和路由工作,让不同的服务互联互通;分布式,由于会把不同服务部署在不同机器上,那么对于这些服务的调用、 容错、网络延迟、分布式事务等等都是一个很大的挑战,当然微服务不一 定全部都是部署在不同服务器上。RPC,Remote Procedure Call,即远程过程调用,建立在Socket之上的,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序。原创 2023-03-08 16:12:05 · 574 阅读 · 0 评论 -
基于DDD的微服务落地
聚合根包括聚合根属性、关联的实体和值对象以及自身的业务行为等。通过引用实体和值对象,协调聚合内的多个实体,在聚合根类方法中完成多实体的复杂业务逻辑。在应用服务组合不同聚合的领域服务时,通过Id或参数传参,尽量避免领域对象传参,以减少聚合之间的耦合度。实体方法、领域服务、应用服务、facade接口服务,服务的组合和编排,跨多个聚合的服务管理和协调。:完成单一实体自身的业务逻辑,是相对简单的原子业务逻辑。聚合代码的解耦、跨聚合的服务调用和对象解耦。实体有自己的属性和关联的值对象。聚合根、实体和值对象的关系。原创 2023-03-08 15:45:34 · 420 阅读 · 0 评论 -
框架之道丨Spring 架构
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,作者是Rod Johnson。在其《expert ono to one j2ee dev and design》阐述部分原理和原型衍生而来。依据此书的思想,他开发了interface21框架,这是一个力图冲破Java EE传统开发的困境,从实际需求出发,着眼于轻便、灵巧,易于开发、测试和部署的轻量级开发框架。原创 2023-03-06 16:33:44 · 35 阅读 · 0 评论