- 浏览: 341598 次
- 性别:
- 来自: 北京
最新评论
-
zhang90030:
location:Point 应该为 the_geom:Poi ...
JAVA用geotools读写shape格式文件 -
wahahachuang8:
GoEasy实时Web推送,支持后台推送和前台推送两种:后台推 ...
HTML5学习笔记(七)-WebSockets API -
hanbuhe:
Property 是用的哪个包的呀?我这里get方法用不了
JAVA用geotools读写shape格式文件 -
hanbuhe:
楼主 我正在用你这个例子呢,2.7的jar包能贴出来吗?im ...
JAVA用geotools读写shape格式文件 -
weilJava:
lijiangt 写道为什么mybatis.1比mybatis ...
MyBatis-spring和spring JDBC批量插入Mysql的效率比较
文章列表
Kafka原理简易说明
kafka是消息队列。
它是队列,传递消息(信息)用的。
它可以用在系统整合、解耦、消峰等场合。
1、最简单的逻辑流程
Kafka集群安装
kafka是一种消息队列。用于大规模的在系统间传递消息。详细介绍参见官网: https://kafka.apache.org/intro
本例中我们使用kafka版本是2.3.1,用Scala2.12编译的版本。 环境配置使用《Hadoop及Yarn的HA集群安装》中的三台服务器的硬件环境,软件要求提前安装zookeeper。
1、下载安装包
在node01中获取安装包
cd /tools
wget https://www-us.apache.org/dist/kafka/2.3.1/kafka_2.12-2.3.1.tgz
解压后进入目录
tar - ...
Hadoop及Yarn的HA集群安装
1、环境及选用的版本说明:
本教程需要3台Linu机器,主机也好,虚机也好。本例中每台内存不少于2G。系统使用CentOS7。
本教程并未采用CDH这样的成型产品,原因有二,一是CDH占用内存较多,少于16G内存的电脑,无法用虚机完成所有教程中的内容;二是学习大数据的时候还是应该尽量从基本的操作开始,这样在遇到问题时更容易定位错误。
如果是生产环境,仍然建议使用CDH,毕竟稳定和监控才是生产环境的追求。
大数据领域,各组件还在各自发展,所以各组件版本间会存在一些适配的情况,如果是第一次安装,建议使用和教程一样的版本安装和学习。
组件
版本 ...
Webflux什么时候用和怎么用
webflux是基于reactor的响应式网络服务框架。
一、阻塞式的链接方式
传统的网络链接方式是同步的方式,也就是阻塞的方式。
如上面的时序图,客户端发出请求后就被阻塞了,要等待后续处理将结果返回。 这种方式要想提高并行度就需要使用更多的链接,比如Tomcat默认的方式就是建立连接池,保留大量的链接,以应对大量的客户。
二、响应式链接方式
异步的时序图是这样:
响应式(事件驱动)中,客户端发送了请求后,服务端立即释放了这个链接。之后再去做业务处理,有结果后再返回给客户端,客户端接收结果。
响应式要求客户端和服务器端都 ...
折腾好几天,趟了几个坑,终于搞成了。废话不多说,直接上结果。
一、为了支持postgis,把Grails3默认的hibernate4改成hibernate5,添加jts支持地理信息,添加postgres-jdbc。这里不需要postgis的jdbc,这个搞了我好几天,最后发现去掉postgis的jdbc就OK了。
修改build.gradle
buildscript {
...
dependencies {
...
// classpath "org.grails.plugins:hibernate4:5.0.4&q ...
1、创建项目
grails create-app myapp --profile=rest-api
cd myapp
grails
--profile可以指定项目框架的类型,rest-api增加rest相关jar,去掉了gsp相关的jar。
2、创建domain
create-domain-resource com.rest.book
3、import项目到Eclipse
import方法参见上一篇博文。
编辑domain class
package org.demo
import grails.rest.*
@Resource()
...
Grails3使用gradle管理项目,所以不再需要spring的ggts,ggts只支持grails2.x的编译环境。
环境版本
JDK 1.8;groovy 2.4;grails 3;Eclipse 4.5.2
一、操作系统
安装 goovy 和 grails
下载goovy,解压
http://www.groovy-lang.org/download.html
设置环境变量GROOVY_HOME
将${GOOVY_HOME}/bin添加到PATH中
下载Grails
https://grails.org/download.html
官方文档中有关监控的章节:
http://www.postgresql.org/docs/9.3/static/monitoring.html
监控软件的罗列文档:
https://wiki.postgresql.org/wiki/Monitoring
其中选择安装了powa。这个可以实时监控数据库,但是没有系统cpu和内存图表。
大多数带有系统监控的,都是通过插件实现的,要多安装和配置一些东西。
powa的官方网站:
http://dalibo.github.io/powa/
下面是安装powa的步骤,Centos系统。
1、下载解压powa ...
最近有个项目,有5、6个web分别部署在3地的服务器,每次发布都很头疼,已有的部署工具要么功能不灵活,要么太庞大,部署工具的部署本身就很麻烦。所以自己用Groovy的AntBuilder写了一个部署工具。在此记录:
部署工具的功能包括拷贝代码,压缩war包,上传至服务器,停止tomcat,解压缩,启动tomcat。(同步SVN和编译用IDE完成)
1、AntBuilder的copy
new AntBuilder().copy(todir:destdir) {
fileset(dir:"${srcdir}/WebContent") {
include(nam ...
有三种不同的备份方法:
SQL dump
文件系统级备份(File system level backup)
连续归档(Continuous archiving)
每种都有优势和劣势。
一、SQL Dump
dump方法是生成含有SQL命令的文本文件,当反馈回服务器时,将顺序执行dump中的命令。postgreSql使用pg_dump工具,基础用例是:
pg_dump dbname > outfile
这个命令可以在任意可以连接数据库的远程机器上运行,但他需要读表的权限,所以大多数是用superuser用户运行这个命令。
连接指定的数据库可以使用 ...
使用EXPLAIN
PostgreSQL为每个收到的查询设计一个查询规划。选择正确的匹配查询结构和数据属性的规划对执行效率是至关重要要的,所以系统包含一个复杂的规划器来试图选择好的规划。你可以使用EXPLAIN命令查看查询规划器创建的任何查询。阅读查询规划是一门艺术,需要掌握一定的经验,本节试图涵盖一些基础知识。
以下的例子来自PostgreSQL 9.3开发版。
EXPLAIN基础
查询规划是以规划为节点的树形结构。树的最底节点是扫描节点:他返回表中的原数据行。
不同的表有不同的扫描节点类型:顺序扫描,索引扫描和位图索引扫描。
也有非表列源,如VALUES子句并设置FROM返回 ...
索引的种类
PostgreSQL默认支持3种索引:B-Tree indexes, R-Tree indexes和 GiST indexes。
B-Tree用于可以在一个方向上排序的数据,如数字(numbers),字母(letters),日期(dates)。地理数据不能再一个方向上排序,所以B-Tree不能用于地理数据。
R-Trees是将数据分解成矩形,子矩形,子子矩形等。R-Trees被一些数据库用于地理数据的索引。但是PostgreSQL的R-Tree实现没有GiST实现那么健壮。
GiST(Generalized Search Trees)将数据分解成“东西在哪一边”,“东西覆 ...
一、源码安装PostgreSql
1、检查gcc版本
gmake --version
GNU make版本3.80以上。
2、下载源码
下载地址:http://www.postgresql.org/ftp/source/
选择版本,下载。
3、解压
gunzip postgresql-9.3.4.tar.gz
tar xf postgresql-9.3.4.tar
4、编译安装
./configure
配置的一些参数,请参考http://www.postgresql.org/docs/9.3/static/install-procedure.html ...
工具框架用spring-batch,数据库是mysql(未做特殊优化)。
比较数据框架mybatis和spring jdbc的插入效率。
Mybatis三种实现:
1、mybatis的官方写法
public void batchInsert1(List<Poi> poilist) throws Exception {
SqlSession sqlSession = sqlSessionFactory.getObject().openSession(ExecutorType.BATCH);
PoiMapper pmapper = sqlSession.getM ...
一、概述
构建高可扩展系统的重要原则:在系统内尽量避免串行化和交互。
如果将应用所有的数据简单地放到单个MySQL服务器实例上,则无法很好的扩展,迟早会碰到性能瓶颈。传统的方法是购买更多强悍的机器,也就是常说的“垂直扩展”或“向上扩展”。另一个方法是将任务分配到多台计算机上,这通常被称为“水平扩展”或“向外扩展”,最后,大部分应用还会有一些很少或者从不需要的数据,这些数据可以被清理或归档。这个方法称为“向内扩展”。
二、规划可扩展性
考虑以下问题,帮助规划可扩展性:
应用的功能完成了多少?
预期的最大负载时多少?
如果依赖系统的每个部分来分担负载,在某个部分失效时会发生 ...