自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 数据库 数据分库分表 分库分表策略选择

一.概述数据库数据分片,分垂直分片和水平分片。由于大部分公司按照业务拆分事业部门和小组,所以天然就是垂直分片。数据库数据垂直分片,单实例有性能瓶颈,后期只能通过水平分片提高数据处理能力。数据库水平分片采用分库分表形式。分库还能够用于有效的分散对数据库单点的访问量。分库和分表均可以有效的避免由数据量超过可承受阈值而产生的查询瓶颈。数据库水平分片,会增加数据实例数,减少单个实例单个库的压力,增加数据TPS操作能力,也能增加QPS操作能力,但Q...

2021-04-30 11:05:43 1348

原创 数据库 MySql 内存表 例子

1.创建内存表ycl_doctor_memDROP TABLE IF EXISTS `ycl_doctor_mem`;CREATE TABLE `ycl_doctor_mem`ENGINE=MEMORYMAX_ROWS=50000000select loginId from base_doctor where loginId is not null and source<>1;ALTER TABLE `ycl_doctor_mem` ADD INDEX `index_loginI.

2021-04-30 10:44:58 180

原创 数据库读写分离后,写及时读解决方法

一。概述数据库读写分离,数据多出一份,数据库选用AP模型,为提高数据库性能,必然有数据一致性问题。写及时读,读不到最新数据。数据库写及时读,未读到最新数据,本身发生概率较小。一般都是高并发,数据实例出现性能问题导致。应首先从减少服务器负载考虑,从尽量避免写及时读考虑。数据库读写分离后,写及时读应该是数据存储层解决的问题,本不应延伸上层。通过提高数据库实例性能,可满足大部分写及时读场景。理论上,业务方从编码或产品设计上,可避免写及时读这一操作的发生。二。不...

2021-04-08 18:52:15 1485 1

原创 关系型数据库 读写分离

概述读写分离数据库实例一般采用主从方式。多主多从方式,虽能整体提高数据处理能力,但多主之间数据同步,数据一致性问题,暂无较完善的开源解决方案。目前大多数系统采用一主多从的方式。主为读写实例,从为读实例。请求随机,轮训或加权(多从读实例负载均衡策略)等分配到不同从读实例。主通过异步,半异步方式复制数据到从。主从异步复制数据,写及时读,从读实例数据尚未完成同步,就有可能读到过期数据。读写分离,要解决写及时读到最新数据的问题。读写分离一般在应用层添加读写分离中间件或在数据存储层添...

2021-04-08 18:39:17 275 1

原创 数据库 数据仓库 NoSQL OLAP OLTP HTAP 预处理 内存数据库 流式计算 MPP架构 DAG架构 列存储 文档存储

数据库 MySql Druid Presto Kylin PostgreSQL Tidb Impala ES Spark SQL

2019-12-19 11:47:31 550

原创 分布式 原则

CAP BASE NWR

2019-12-19 11:41:25 273

原创 架构师 设计原则

基本原则原则1:KISS(Keep it simple,sutpid) 和保持每件事情都尽可能的简单。用最简单的解决方案来解决问题。原则2:YAGNI(You aren’t gonna need it)-不要去搞一些不需要的东西,需要的时候再搞吧。原则3:爬,走,跑。换句话说就是先保证跑通,然后再优化变得更好,然后继续优化让其变得伟大。迭代着去做事情,敏捷开发的思路。...

2019-09-30 10:48:46 222 1

原创 关系数据库 MySQL sql 优化 or

/*Navicat MySQL Data TransferSource Server : 192.168.254.128Source Server Version : 50725Source Host : 192.168.254.128:3307Source Database : testTarget Server Type :...

2019-03-23 01:14:23 276

原创 架构 实践 架构迭代过程

一个公司肯定有一个文档是应该必须从一开始就保留的,这就是公司技术架构迭代文档。

2019-03-02 09:41:56 727

原创 设计模式 门面模式 业务代码应用

电商的商品中心包括商品,类目(标准类目(发布商品时候使用),销售类目(导购用户购买时候使用)),属性(销售属性,服务属性等)等。如果业务模型简单,一开始我们都会提供一个GoodsService(商品)包括了CategoryService,AttributeService,统一提供商品的服务。这是一个正常的思维。而这个思维其实就是设计模式中的门面模式GoodsService应该为GoodsFac...

2019-02-28 22:23:09 417

原创 设计模式 策略模式 业务代码应用

大家感觉学习设计模式很抽象很难,这里提供一种学习方法。对于代码民工来说大家写什么代码最多?业务代码。业务代码什么写的最多?Service,其他的dal层或者controller基本都是借助spring的Copy。业务代码会有这样一个场景,每个Service都有一些公共的抽象方法,基本上每个Service都要写实现方法。比如get(),add(),edit(),query(),del()。这样大家...

2019-02-28 22:04:23 697 1

原创 SOA 服务化 非幂等操作 处理方法

SOA 服务化 非幂等操作 处理方法非幂等操作场景添加,删除操作前端操作按钮未遮罩造成重复提交HTTP中间件重试机制造成重复提交消息中间件重试机制造成重复提交服务调用服务失败重试机制解决方法添加,删除操作后前端操作按钮遮罩或者跳转页面HTTP 消息中间件,服务调用最多调用一次设置Token令牌一次使用后就失效Code ID唯一性限制重复提交最牛把非幂等操作变成幂等操作非幂等操作场景场景添加,...

2019-01-08 11:57:21 215

原创 代码规范 controller service mapper

swagger为接口文档   接口参数必须带说明   接口命名参考http规范 根据id得到唯一信息建议不用path,用? 查询多个参数建议封装对象,使用post 放在body里面 ,requestBody 接口规则 package ink.taigu.yingke.user.account.web.controller.account;import com.github.p...

2018-11-21 17:25:38 1613

转载 Open Api规范

很牛的开放api规范,参考一下https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md

2018-11-15 12:01:47 1650

原创 关系数据库 MySQL 设计

三范式 表设计1.什么时候该把数据copy一份到新创建的表?比如采购单派单后变成供应商的生产订单,那地址是通过关系使用采购单的,还是重新创建一个地址表,从采购表copy一份?1)通过关系找采购单的地址,采购单地址改了生产订单也改了。2)通过关系找采购单的地址,生产订单改了影响采购单的地址。订单一般都是有限状态机,而且都是不可逆的,所以采购单派单之后肯定不能改的。生产订单的收...

2018-09-07 17:19:47 187

原创 大数据 搜索 ES 一

对应关系Relational DB -&gt; Databases -&gt; Tables -&gt; Rows -&gt; ColumnsElasticsearch -&gt; Indices -&gt; Types -&gt; Documents -&gt; Fields区别确切值(Exact values) vs. 全文文本(Full text)查询与过滤操作重建...

2018-09-01 10:49:33 2126

原创 关系数据库 MySQL 使用

数据类型float、double是浮点数,decimal是定点数,浮点数会丢失精度。事务级别SELECT @@tx_isolation。(repeatable read:重读读取:可以解决脏读 和 不可重复读 ---mysql默认的)。mysql&gt; SELECT @@tx_isolation;+-----------------+| @@tx_isolation |+-...

2018-08-20 15:21:23 219

原创 大数据 DTS Canal

1.DTS在整体架构中的位置(数据层)2.DTS作用3.Canal伪装成Mysql的slave,通过读取整合binlog的日志,输出对数据库的修改内容。4.安装服务端4.1)下载版本目前稳定版本为1.0.244.2)解压缩。文件夹说明logs日志,conf配置。4.3)确认master数据库配置已经添加[mysqld]log-bin=mysql-bin ...

2018-08-16 09:46:57 2639

原创 java jvm 编译期

编译器

2018-07-10 15:01:23 176

原创 java 规范 日志

什么时候打印日志1.检查出错误时,要返回给前端错误信息。在返回错误信息要打日志。//参数判断if (saveAgentInfoParam == null || saveAgentInfoParam.getAgentInfoDTO() == null) { log.warn(BaseErrorMsgEnum.ParamError.getMsg());//打印日志 return ne...

2018-07-06 18:30:00 835

原创 java 线程 线程池

如题

2018-06-27 10:34:17 171

原创 架构 理论 软件过程 错误认识 总结

如题

2018-06-22 09:40:55 269

原创 DevOps 分支 流程 git

敏捷开发方法 分支开发流程对应软件过程简单说明新需求应该有简单的需求文档开发应该有设计方案(简单的用图说明即可,比如uml图)测试要有测试用例,先跑冒烟,再跑详细的功能(牛的公司可以测试驱动开发,后台开发人员以跑通单元测试为目标)发布上线应该配备上线方案,上线预案各种评审环绕-----开发者操作分支过程1.本地分支一定和远程分支名字相同,并且关联起来。比...

2018-03-30 12:08:09 1776

原创 架构 理论 定律 总结

墨菲定律“凡事只要可能出错,就一定会出错” 这条定律来源于 Edward A. Murphy—— 一名航天工程师在 50 年代初对火箭测试失败的回应。这条定律给我们的启示是永远在系统关键地方使用防御性设计,因为系统某些地方总会出错!Conway 定律“系统设计的架构受限于生产设计,反映出公司组织的沟通架构” 在 60 年代,一位名叫 Melvin Conway 的工程师注意到公司组织结构影响到他

2017-10-31 16:08:08 580

原创 java 基础 集合 HashMap TreeMap

分离链接散 二次探测

2017-10-31 09:43:18 225

原创 java jvm 内存划分

总体内存分为堆和栈 堆Eden,S0,S1(伊甸园,S0,S1)Old(老生代)Metaspace(元数据)类信息

2017-10-27 13:42:10 277

原创 java 线程 模型 状态

状态创建(New)创建后尚未启动运行(Runable)包括操作系统线程状态中的Running和Ready 可能正在运行,也可能正在等待为它分配执行时间无限期等待(Waiting)不会被分配CPU时间,等待被其他线程显示唤醒。 Object.wait()没有设置Timeout Thread.join()没有设置Timeout LockSupport.park()期待等待(Timed Waiti

2017-10-27 11:14:52 493

原创 Java 并发 线程安全 ThreadLocal

java 并发 线程安全 ThreadLocal

2017-10-27 10:31:11 257

原创 java 代码 规范 类

怎么写类怎么写ServiceImpl怎么写Util

2017-10-25 13:54:36 384

原创 java 代码 规范 分层模块

如图 层 说明 函数名 web层 1.Controller里不可以有业务代码,可以有简单参数判断,返回值转型2.返回对象尽量为VO3.PO到VO转换 函数名为对应controller 缓存service层 1.缓存每次查询的结果(Spring Cache)2.自己创建缓存对象的结构 service层 1.针对借口编程2.UserService只能调用Use

2017-10-25 13:35:58 3870

原创 代码管理 git 日常

日常合并冲突必须找到冲突人一起解决,否则容易删除需要的代码master上线后每个开发者要自己合并一下主干每天早上要拉一下代码到本地

2017-10-25 11:21:26 232

原创 java 代码 规范 函数体

怎么写函数体?原则提早返回分离可靠与不可靠代码注意线程安全缩小异常抓取范围尽量使用工具类guava函数要符合单一职责,如果一个函数代码太多可再抽出一个私有函数怎么写业务代码要先判断参数合法性读数据库属于可靠操作,远程调用属于非可靠操作要抓异常最忌讳整个函数抓异常ThreadLocal。同一次调用(同一个线程)里需要在不同接口函数里调用同一批数据就可以使用ThreadLocal存储

2017-10-25 11:06:18 704

原创 java jvm 类加载机制 双亲委派模型

jvm 类加载机制 双亲委派模型

2017-10-11 12:41:10 508

原创 架构 理论 设计原则 软件 总结

GRASP 通用职责分配 SOLID 面向对象设计

2017-10-04 12:02:14 349

原创 架构 理论 设计原则 分布式 总结

CAP 一致性 可用性 分区容忍性 BASEAKF架构原则 动态开关机制 Feature Switch 度量驱动开发 Metrics Diven Development 多活

2017-10-04 10:48:41 600

原创 UML 总结

UML类图图示样例-转载自大话设计模式 4+1视图

2017-09-26 16:34:14 310

原创 业务 电商 库存

业务 电商 库存 业务架构 应用架构

2017-09-26 14:27:57 686 1

原创 java 基础 集合 总结

java 基础 集合 fail-fast fail-safe

2017-09-23 23:33:09 210

原创 业务 电商 订单

业务 电商 订单 应用架构 业务架构

2017-09-20 11:43:54 767

原创 阿里云 互联网 产品 总结

阿里云 互联网 电商 产品

2017-09-19 12:34:33 990 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除