架构
文章平均质量分 58
勤径苦舟
书山有路勤为径,学海无涯苦作舟。
展开
-
项目管理--01--团队项目负责人的一些感悟
我们项目随着项目的越来越来,各种问题越来越多,比如表字段的问题,java对象的设计问题,下面是我们项目后期遇到的问题,一一罗列下。以后带团队必须注意的问题 java中 1 同一个意思的字段,在不同对象中具有不同的写法,比如说A类中金额的字段是money,B类的金额字段是payMoney—-建议:设计一个包含所有java对象的字段的表T,如果创建新类的字段,如果该字段在T中,就使用T中的字段,如原创 2017-12-13 20:12:06 · 1955 阅读 · 1 评论 -
通用报表中心设计--v1
设计好报表规则后,点击 某个按钮,展示这个报表 是否会引起 数据库性能 下降,只有确认,没问题,该报表规则才能生效。选择 统计字段,如果有做统计,那么需要确保统计字段和列表字段是一样对应的。管理员 选择 数据源,再选择 某张表或者多张表 构建一个报表。多个字段,排序的顺序,通过顺序字段来决定。配置的时候,可以看到预览的界面。报表的最大权限的用户。报表的最大权限的用户。原创 2023-09-21 10:59:25 · 163 阅读 · 0 评论 -
DBeaver--基础--01--安装
除了以下操作,其他操作都点击下一步。原创 2023-04-09 14:12:39 · 54 阅读 · 0 评论 -
模块功能耗时长排查
某块业务代办处理耗时。原创 2022-12-15 10:29:12 · 112 阅读 · 0 评论 -
MYSQL--架构--理论--01--高可用方案的优缺点、选型
MYSQL–架构–理论–01–高可用方案的优缺点、选型高可用考虑点如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。用作备份、只读副本等功能的非主节点的数据应该和主节点的数据实时或者最终保持一致。当业务发生数据库切换时,切换前后的数据库内容应当一致,不会因为数据缺失或者数据不一致而影响业务。一、主从或主主半同步复制使用双节点数据库,搭建单向或者双向的半同步复制。在5.7以后的版本中,由于lossless原创 2022-05-04 13:58:03 · 600 阅读 · 0 评论 -
架构--网络关键指标公式
架构–网络关键指标公式一、经典公式1:估算系统的平均并发用户数和并发用户数峰值1.1、公式1.1.1、平均并发用户数C = nL/T参数说明–C平均并发用户数,通过计算出来的参数说明–nlogin session的数量,也就是 平均每天访问用户数参数说明–L是login session的平均长度,也就是 一天内用户从登录到退出的平均时间(操作平均时间),单位小时参数说明–T是值考察的时间长度,也就是 在一天的时间内,一天内多长时间有用户使用系统,单位小时。1.1.2、并发用户数原创 2021-11-15 14:19:39 · 2352 阅读 · 0 评论 -
架构--软件性能测试关注点
架构–软件性能测试关注点一、管理员的角度1、 响应时间2、 服务器资源使用情况是否合理3、 应用服务器和数据库资源使用是否合理4、 系统能否实现扩展5、 系统最多支持多少用户访问、系统最大业务处理量是多少6、 系统性能可能存在的瓶颈在哪里7、 更换那些设备可以提高性能8、 系统能否支持7×24小时的业务访问二、开发(设计)人员角度1、 架构设计是否合理2、 数据库设计是否合理3、 代码是否存在性能方面的问题4、 系统中是否有不合理的内存使用方式5、 系统中是否存在不合理的线程原创 2021-11-15 14:20:09 · 146 阅读 · 0 评论 -
性能压力测试工具之ApacheBench
1、ApacheBench命令原理:ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。试目标是基于URL,可以用来测试Apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。ab命令对发出负载的计算机要求很低,既不会占用很高CPU,也不会占用很多内存,但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也须注意,否则一次上太多的负载,可能造成目标服务器因资源耗完,严重时甚至导致死机。执行的程序原创 2022-02-02 14:48:50 · 794 阅读 · 0 评论 -
架构--网络关键指标
架构–网络关键指标1、QPS(Queries Per Second)每秒查询率 ,是一台服务器每秒能够相应的查询次数是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。2、TPS(Transactions Per Second)事务数/秒。一个事务是指一个客户机向服务器发送请求,然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,3、并发数指系统同一时刻能处理的请原创 2021-11-15 14:18:28 · 4408 阅读 · 0 评论 -
为一个团队的架构师,怎么提高团队的工作效率
问题1:前端代码开发慢,新人不懂前端知识怎么处理?制定前端常用功能的学习视频案例文档 将大家经常遇到的问题或者表单,放到案例文档中。 目的: 方便去查找前端问题的解决方案 规范: 写成markdown文件,放到ftp的一个指定目录 第一次收集开发经常遇到的问题或者表单,放到案例文档中统一风格样式由一个人开发,其他人引用微调组织学习和分享前端问题,持续2周人员:x1x2注意点要讲的内容不能重复第一,二周:每天讲2个问题或者案例必须写markdow原创 2021-05-10 22:16:26 · 169 阅读 · 0 评论 -
MyPerf4J安装
一、下载源码地址:https://github.com/LinShunKang/MyPerf4J.git分支:master二、打包项目跳过测试打包修改包名:MyPerf4J-ASM.jar修改配置文件myPerf4J.properties(自己新建) # MyPerf4J 所有配置请参考:https://github.com/LinShunKang/MyPerf4J/wiki/%E9%85%8D%E7%BD%AE # 配置监控应用的名称 app_name = Fl原创 2020-10-26 14:26:36 · 1474 阅读 · 1 评论 -
cpu过高和内存过高排查
cpu过高和内存过高排查1 查看cpu占用过高和内存过高进程cpu占用过高命令:topps aux|head -1;ps aux|grep -v PID|sort -rn -k +10|head内存过高命令:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head2 查看异常线程命令:top -H -p 进程号top -H -p 171313 将异常线程号转化为16进制命令:printf “%x\n” 173原创 2020-10-13 19:42:24 · 1075 阅读 · 0 评论 -
关于怎么实现mysql更新,redis同步
定义一个注解A,带有A注解的某个业务B(对应B表),那么B所有的更新操作都删除reids,并重新新增数据到redis定义一个AOP,扫描带有A注解的所有方法。方法的所有更新操作都要delete key,add key,value;方法所有的查询都先查询redis,没有再查数据库前期开发可以着手单表做起。...原创 2019-11-04 20:04:06 · 1156 阅读 · 2 评论 -
分布式事务设计
分布式事务设计一、 什么是分布式事务一次大的操作由多个小操作组成,这些小操作分布各个独立的服务上,分布式事务需要保证这些小操作要么全部成功,要么全部失败.保证不同数据库的数据一致性。保证同一个数据库,在多个独立服务上的数据一致性。二、分布式事务的产生的原因2.1、数据库分库分表当单表的数据超过1亿,这个时候为了查询性能,应该考虑活分库了(活跃,时间),就是将原来的一个数据库变成...原创 2019-11-03 20:36:09 · 689 阅读 · 1 评论 -
针对高并发的思路
我们把一次HTTP请求的时间分成3段请求–>计算处理–>响应。那么我们能专门优化呢。请求数据压缩传输,降低网络传输时间响应数据压缩传输,降低网络传输时间计算处理预先处理好结果,并将结果缓存起来,当用户请求的时候直接返回处理结果。我刚参加工作的那会,我接手一个项目,优化用户登录模块。用户登录,做了登录校验,校验成功后获取用户的基本信息获取用户的零钱信息(我们有自己的购物商场)获取用户物流地址信息获取用户帖子信息(用户发帖)获取用户等级信息(类似qq的等级)...原创 2019-09-11 11:17:06 · 156 阅读 · 0 评论 -
分布式系统中主键生成策略
主键生成策略1分布式系统中主键生成的问题案例,在集群的写库中,生成的主键重复的问题。比如说,A库用户表插入一条数据,生成主键id=1,B库用户表插入的数据,生成的主键id也为1,那么应该怎么办让A,B库生成的主键id不重复,且有序呢。策略1Snowflake(雪花算法,现在非常流行)id全局唯一高性能,低延迟独立的应用按时间有序需要独立的开发和部署1.1结构41位...原创 2019-09-19 19:53:57 · 1731 阅读 · 0 评论 -
controllerAOP管理设计
controllerAOP管理设计结构为什么要设计这个接口对controller的方法AOP处理,不同的开发人员因为对业务的理解不同,做很多处理,定义了很多切点,最后形成维护了很多功能的AOP管理。案例如下开发1:实现一个注解a,调用a注解的方法有起到防重复的功能。开发1定义一个AOP切面a_aop,切点是整个controller层开发2:实现一个注解b,调用b注解的方法可以起到...原创 2019-09-29 14:41:22 · 387 阅读 · 0 评论 -
controllerAOP管理设计-防重复设计
controllerAOP管理设计-防重复设计接口结构代码结构功能代码import java.lang.annotation.*;/** * @Author feizhou * @Description 防止同一个方法被频繁执行 * 所有请求的参数都必须重写toString方法,也就是说凡是带对象的参数都要重写toString方法 * @Date 19:35 2019/4/...原创 2019-12-04 17:23:50 · 425 阅读 · 0 评论 -
签名设计+数据加密设计
一 签名设计1.1签名生成的步骤如下:参数名ASCII码从小到大排序(字典序)案例buid=12&accoutid=0 —> accoutid=0&buid=12请求参数使用URL键值对的格式(key1=value1&key2=value2…)拼接成字符串st1案例st1=“accoutid=0&buid=12”;...原创 2019-09-29 16:45:17 · 1325 阅读 · 0 评论 -
高并发 - 服务降级与服务熔断
为什么要服务降级假设一个服务器1秒最大只能并发处理5W条请求,如果用户并发请求6万,那么多的1万请求在1秒内多出1W个cpu时间切片,这些cpu时间切片占用了1秒的资源,导致前面5W请求不够资源,这个时候大家都要花费时间在等待资源的时间上,如果这个时候后续请求都是超过5W,那么前面的请求来不及处理,后面的请求不够资源,找出cop切片越来越多,没有请求获取的时间资源越来越少,最终前面的请求处理不...原创 2019-09-09 23:32:03 · 1025 阅读 · 0 评论 -
高并发设计_限流
高并发设计一思路缓存、降级和限流。1. 缓存提升系统访问速度和增大系统能处理的容量。2. 降级当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开3. 限流用来处理前面2种不能解决的情况,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限流。##二限流操作###...原创 2019-09-07 15:26:52 · 181 阅读 · 0 评论 -
openOffice卸载
openOffice卸载超简单 步骤1:查询要卸载的rpm[root@localhost ~]# rpm -qa |grep openofficeopenoffice-javafilter-4.1.5-9789.x86_64openoffice-pyuno-4.1.5-9789.x86_64openoffice-ure-4.1.5-9789.x86_64openoffice-zh-CN-ba原创 2018-04-16 17:56:47 · 2489 阅读 · 0 评论 -
解决openoffice进程异常退出的办法
步骤1 编写脚本 openoffice.sh#!/usr/bin/bashOPENOFFICEPID=`ps -ef|grep "/opt/openoffice4/program/soffice"|grep -v grep|grep -v grep|awk '{print $2}'`if [ ! -n "$OPENOFFICEPID" ];then echo "OPENOFFICEPID原创 2018-04-16 17:30:53 · 2575 阅读 · 0 评论 -
linux安装nexus(支持jdk1.7)并设置开机启动
版本:nexus-2.6.4-02-bundle 这个版本jdk需要1.7或以上 注:nexus 2.6版本之后不再支持jdk1.6 nexus 2.5.x nexus最后一个支持jdk1.6版本的1创建安装目录[root@xiniu maven]# mkdir -p /usr/java/nexus2上传文件 3解压缩[root@xiniu nexus]# lsnexus-2.6.4-02原创 2017-08-01 17:39:47 · 2896 阅读 · 0 评论 -
linux安装oracle 修改/etc/security/limits.conf
转载http://blog.itpub.net/22418990/viewspace-715239linux下安装Oracle 一般都会修改 /etc/security/limits.conf这个文件,但是这里面的具体含义未必每个人都会,刚开始我也不是很清除,只知道要修改,每次安装按照文档配置就可以了。今天看到一般文章的介绍,特记录一下,加深一下理解。linux limits.conf 配置 lim转载 2018-02-25 09:25:18 · 3052 阅读 · 0 评论 -
linux 下 tomcat开机自启动
shell脚本启动方式 1:我们在/etc/init.d下新建一个文件tomcat(需要在root权限下操作)vi /etc/init.d/tomcattomcat内容#!/bin/sh# chkconfig: 2345 99 10# description: Auto-starts tomcat# /etc/init.d/tomcatd# Tomcat auto-start# Sour原创 2018-01-31 09:06:24 · 297 阅读 · 0 评论 -
给mysql的root %用户添加grant权限。并给创建的用户赋予权限
登录mysql[root@dbserver bin]# ./mysql -u root -p选数据库mysql> use mysql查看权限mysql> mysql> user,host,grant_priv from user;+---------------+-----------+------------+| user | host | grant_priv原创 2017-09-21 16:41:39 · 12205 阅读 · 1 评论 -
spring+SpringMVC+mybati整合JBPM
网上看到这方面的资料很少,即使有也给的不全,我自己项目有这方面的需求,花了几天时间,终于整合成功。1原先的spring+SpringMVC+mybati配置 jdbc.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="原创 2017-09-04 11:02:01 · 3598 阅读 · 2 评论 -
TNS-12537: TNS:connection closed TNS-12560: TNS:protocol adapter error TNS-00507: Connection clos
原因 1localhost有多个地址,引发监听冲突 2在linux中搭建的oracle没有监听配置,没有下面相应的文件解决方法 问题1 localhost有多个地址,引发监听冲突[oracle@localhost bin]$ cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.loca原创 2017-08-19 16:54:33 · 5500 阅读 · 0 评论 -
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
问题[oracle@localhost oracle]$ ./sqlplusError 6 initializing SQL*PlusMessage file sp1<lang>.msb not foundSP2-0750: You may need to set ORACLE_HOME to your Oracle software directory解决方法: 第一,用oracle用户名原创 2017-08-01 15:18:02 · 21835 阅读 · 2 评论 -
分布式数据库+分布式数据库简单理解+定义数据库链路+数据库链路案例
分布式数据库 分布式数据库简单理解: 1物理上存放在网络中的多个节点上,逻辑上是一个整体 2对1的理解如下 定义数据库链路create database link db_link_name connect to user_name identified by password using tns_name;db_link_name:远程数据库的服务名(数据库的真实名称sid)user_原创 2017-06-12 11:05:45 · 493 阅读 · 0 评论 -
数据库集群+好处+原理图
数据库集群 好处 1负载均衡 2失败转移原理图原创 2017-06-12 08:52:17 · 5041 阅读 · 0 评论 -
memcached数据同步与保存
1原理图 2代码实现 1)package cn.zhou.common.web.aop;import java.io.StringWriter;import java.util.Map;import java.util.Map.Entry;import java.util.Set;import org.aspectj.lang.JoinPoint;import org.aspectj.l原创 2017-03-31 22:36:51 · 2939 阅读 · 0 评论 -
memchached服务的搭建 ---java 接口调用memchached
1:安装 1)手动安装 2)在线安装2配置介绍 [root@fei ~]# more /etc/sysconfig/memcached PORT=”11211” 端口 USER=”memcached” 用户 MAXCONN=”1024” 最大连接数 CACHESIZE=”64” 缓存空间 OPTIONS=”” 配置哪个ip 连接,如果不写,则所有的原创 2017-03-28 20:35:07 · 1031 阅读 · 0 评论 -
在线预览设计
在线预览设计原创 2018-04-23 10:18:40 · 336 阅读 · 0 评论 -
购物流程接口设计+案例
购物流程接口设计为什么要设计这个接口要实现代码校验和逻辑抽离数据出错修复,打个比方说,用户支付订单后,但是订单数据还是未支付。异步执行修复数据或者任务,不影响业务功能,加速请求校验。打个比方说:服务商取消订单,需要发送消息给对应的用户终端,这个时候可以将发送功能接触数据修复接口,如果发送成功就不发送,发送失败就重试发送。后期功能扩展容易后期功能扩展可以在业务模块那边新增扩展...原创 2019-08-28 11:37:20 · 2148 阅读 · 1 评论 -
Https与Http区别
HttpsHTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),简单来讲就是加了安全的HTTP,即HTTP+SSL;我们知道HTTP通讯时,如果客户端C请求服务器S,那么可以通过网络抓包的形式来获取信息,甚至可以模拟服务器S端,来骗取与C端的通讯信息;这对互联网应用在安全领域的推广非常不利;HTTPS解决了这个问题。什么是...原创 2019-07-17 08:42:36 · 202 阅读 · 0 评论 -
高并发redis-mysql架构设计
高并发redis-mysql架构设计流程总体设计针对非事务针对dao方法针对单个sqldao代理方法请求:处理指定注解的方法,如果该方法没有注解,就走一般流程(AOP实现),(要考虑到除了注解还有配置方式)如果注解解析异常返回,设置执行对象的状态30001dao代理接口操作类型解析,如果异常就不执行下面的步骤,设置执行对象的状态30002,并返回给方法请...原创 2019-07-16 15:04:22 · 2864 阅读 · 1 评论 -
springboot+ElasticSearch
开源ElasticSearch目前全文搜索引擎的首选。 可以快速的存储、搜索和分析海量数据。 是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也是采用了ElasticSearch作为其搜索服务.三 ElasticSearch安装[root...原创 2019-07-07 12:47:53 · 181 阅读 · 0 评论 -
SonarQube 搭建代码质量管理平台
一、安装篇1安装jdk2下载sonarqube,地址http://www.sonarqube.org/downloads/3下载sonar-scanner-cli-3.1.0.1141-linux将资源放到这个目录4解压[root@localhost sonarqube]# unzip -q sonarqube-developer-7.8.zip -d ...原创 2019-06-27 20:07:24 · 1278 阅读 · 2 评论