笔记整理
致力于做一个快乐的胖墩先生
让自己活得无可替代
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
URL URI 两者存在的区别
原创 2017-08-19 18:35:01 · 317 阅读 · 0 评论 -
架构师之路(2)细聊分布式ID生成方法
一、需求缘起几乎所有的业务系统,都有生成一个记录标识的需求,例如:(1)消息标识:message-id(2)订单标识:order-id(3)帖子标识:tiezi-id这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。 这个记录标识上的查询,往往又有分页或者排序的业务需求转载 2017-12-28 10:40:16 · 248 阅读 · 0 评论 -
架构师之路(3)session一致性架构设计实践
一、缘起什么是session?服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。 Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建session,提供数据存储功能。最常见的,会把用户的登录信息、用户信息存储在session中,以保持登录状态。 什么是session一致性问题?只转载 2017-12-28 10:41:07 · 350 阅读 · 0 评论 -
架构师之路(4)数据库切换ip地址
一、缘起很多公司,技术经常遇到这样的场景:1)硬件升级,要换一台高配机器2)网络重新规划,若干服务器要调整机架3)服务器宕机,要重新部署恢复服务…更具体的,如上图:数据库换了一个ip,此时往往连接此数据库的上游需要修改配置重启,如果数据库有很多上游调用方,改配置重启的调用方会很多,每次换ip的成本往往很高,成为大家共性的痛点。转载 2017-12-28 10:42:17 · 784 阅读 · 0 评论 -
架构师之路(5)100亿数据1万属性数据架构设计
一、背景描述及业务介绍问:什么是数据库扩展的version + ext方案?使用ext来承载不同业务需求的个性化属性,使用version来标识ext里各个字段的含义。例如上述user表:verion=0表示ext里是passwd/nickversion=1表示ext里是passwd/nick/age/sex 优点?转载 2017-12-28 10:43:03 · 481 阅读 · 0 评论 -
架构师之路(6)互联网架构之“高可用”
一、什么是高可用高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,我们说系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的转载 2017-12-28 10:43:44 · 313 阅读 · 0 评论 -
架构师之路(7)互联网架构之“高并发”
一、什么是高并发高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。响应时间:系统对请求做转载 2017-12-28 10:44:35 · 539 阅读 · 0 评论 -
架构师之路(8)100亿数据平滑数据迁移,不影响服务
一、问题的提出互联网有很多“数据量较大,并发量较大,业务复杂度较高”的业务场景,其典型系统分层架构如下:(1)上游是业务层biz,实现个性化的业务逻辑(2)中游是服务层service,封装数据访问(3)下游是数据层db,存储固化的业务数据 服务化分层架构的好处是,服务层屏蔽下游数据层的复杂性,例如缓存、分库分表、存储引擎等存储细节转载 2017-12-28 10:45:22 · 858 阅读 · 0 评论 -
架构师之路(9)多种负载均衡算法及其 Java 代码实现
一、什么是负载均衡?负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和 服务器的带宽、增加 吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web 服务器、 FTP服务器、 企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。转载 2017-12-28 10:46:12 · 623 阅读 · 0 评论 -
数据库阿里连接池 druid配置详解
java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池。数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,也逐渐印入了大家的眼帘。接下来本教程就说一下druid的简单使用。首先从 http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包。如转载 2017-12-29 17:21:44 · 453 阅读 · 0 评论 -
vue.js开发环境搭建
1.安装node.js(http://www.runoob.com/nodejs/nodejs-install-setup.html)2.基于node.js,利用淘宝npm镜像安装相关依赖 在cmd里直接输入:npm install -g cnpm --registry=https://registry.npm.taobao.org,回车,等待安装...3.安装全局vue-转载 2017-12-29 17:21:54 · 268 阅读 · 0 评论 -
架构师之路(1)秒杀系统架构优化思路
一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。 例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如:12306转载 2017-12-28 10:39:11 · 513 阅读 · 0 评论 -
mybatis模糊查询
1. mybatis#{ } 占位符 select * from t_user u where u.name like "%"#{value}"%"2. mybatis${ } 字符串拼接 select * from t_user u where u.name like '%${ value}%'3 sql中字符串拼接 SELE原创 2017-08-21 21:29:27 · 302 阅读 · 0 评论 -
cmd命令
AT 计划在计算机上运行的命令和程序。ATTRIB 显示或更改文件属性。BREAK 设置或清除扩展式 CTRL+C 检查。CACLS 显示或修改文件的访问控制列表(ACLs)。CALL 从另一个批处理程序调用这一个。CD 显示当前目录的名称或将其更改。CHCP 显示或设置活动代码页数。CHDIR 显示当前目录的名称或将其更改。CHKDSK 检查磁盘并显示状态报告。转载 2017-08-20 13:12:48 · 543 阅读 · 0 评论 -
SpringMVC上传文件的三种方式
这是:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/commonsmultipartreso前台:12345678910111213转载 2017-08-20 15:25:14 · 330 阅读 · 0 评论 -
eclipse maven问题
1、 maven工程依赖的jar包无法部署到tomcat中右键maven工程,选择“属性”将工程在tomcat重新发布即可。 2、Update Project or use Quick Fixmaven工程总是提示更新,一更新java版本又回到1.5 在pom.xml添加如下: build>finalName>spring原创 2017-08-20 15:42:09 · 301 阅读 · 0 评论 -
tomcat配置集群
在Tomcat中使用集群功能相对简单。最简单的用法是直接在server.xml文件的或节点下添加Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>11配置,这意味着集群相关的配置都使用默认的,它其实等同于Cluster className="org.apache.catalina.ha.tcp.Simp转载 2017-08-22 10:53:33 · 266 阅读 · 0 评论 -
tomcat集群实现源码级别剖析
随着互联网快速发展,各种各样供外部访问的系统越来越多且访问量越来越大,以前Web容器可以包揽接收-逻辑处理-响应整个请求生命周期的工作,现在为了构建让更多用户访问更强大的系统,人们通过不断地业务解耦、架构解耦将web容器的逻辑处理抽离交由其他中间件处理,例如缓存中间件、消息队列中间件、数据存储中间件等等。Web容器负责的工作可能越来越少,但是它确实必不可少的部分,它负责接收用户请求并分别调用各个服转载 2017-08-22 10:55:48 · 364 阅读 · 0 评论 -
mybatis笔记
mysql自增长生成主键ID的方式:先插入数据,数据库保存数据之后再生成一个ID,然后再插入进去。当mysql数据库设置为自增长类型通过select LAST_INSERT_ID()可以返回新插入数据的ID,此时 resultType="Integer" order="AFTER" 是固定语句,不可变select LAST_INSER原创 2017-08-22 08:07:31 · 239 阅读 · 0 评论 -
ArcGIS 在地图上添加标注
dojo.require("esri.map"); dojo.ready(function () { var MyMap = new esri.Map("MyMapDiv"); var myTiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer("http:/转载 2017-09-22 09:21:50 · 11976 阅读 · 0 评论 -
Arcgis Javascript API 开发笔记
JS API3.4的要求à(1) IE9或以上版本否则dijit1.8.3不匹配 1.如何发布ArcgisJavascript API应用0.准备工作: (1).有web应用: (2).有jsapi开发包转载 2017-09-22 09:31:16 · 3667 阅读 · 0 评论 -
Arcgis Server for JavaScript API之自定义InfoWindow
首先,DIV定义,这个样式,我定义了5个div,分别是infowin,title,colse,content,arrow,其中,infowin是整个InfoWindow的大框架,title为标题,close为关闭按钮,content为主要内容,arrow为下面的小尾巴,我们可以将这个小尾巴做的长一点,以免对象被遮盖的情况,代码为: X转载 2017-09-22 09:36:05 · 846 阅读 · 0 评论 -
fullcalendar日历控件知识点集合
1、基本语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码。当然,这里的面向对象仅仅是指可以把整个fullcalendar理解为一个类,这个类里包括有很多的属性、方法、委托(函数回调)作为成员变量。通过为这些成员变量赋值,即可实例化出一个符合自己需求的fullcalendar实例出来,即最终在浏览器里渲染出的日历。换句话说,我们所做的绝大多数工转载 2017-11-13 14:31:22 · 1459 阅读 · 0 评论 -
vue.js开发环境搭建
vue这个新的工具,确实能够提高效率,在经历的一段时间的摧残之后,终于能够有一个系统的认识了,下面就今天的收获做一个总结,也是vue入门的精髓: 1.要使用vue来开发前端框架,首先要有环境,这个环境要借助于node,所以要先安装node,借助于node里面的npm来安装需要的依赖等等。 这里有一个小技巧:如果在cmd中直接使用npm来安装的一些工具的话会比较慢,所以我们使用淘宝的npm镜转载 2017-12-29 17:22:42 · 299 阅读 · 0 评论
分享