摘要: 前言 因为想对RPC内部的机制作一个了解,特作以下阅读代码日志,以备忘。 RPC介绍 Rabbit RPC 原理可以用3点概括: 1、服务端启动并且向注册中心发送服务信息,注册中心收到后会定时监控服务状态(常见心跳检测)。 2、客户端需要开始调用服务的时候,首先去注册中心获取服务信息。 3、客户端创 阅读全文
posted @ 2019-03-27 22:32 littlewrong 阅读(608) 评论(5) 推荐(0) 编辑
摘要: 两者都是同步等待操作的结果差异主要在于处理异常.使用Wait,异常堆栈跟踪不会改变并表示异常时的实际堆栈,因此如果您有一段代码在线程池线程上运行,那么您将拥有类似的堆栈 ThreadPoolThread.RunTaskYourCode.SomeWork另一方面,.GetAwaiter().GetRe 阅读全文
posted @ 2019-03-23 09:22 littlewrong 阅读(4923) 评论(0) 推荐(0) 编辑
摘要: 我们先来创建几个接口using System; namespace DependencyInjectionSample.Interfaces{ public interface IOperation { Guid OperationId { get; } } public interface IOp 阅读全文
posted @ 2019-03-22 16:11 littlewrong 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 今年,ServiceMesh(服务网格)概念在社区里头非常火,有人提出2018年是ServiceMesh年,还有人提出ServiceMesh是下一代的微服务架构基础。作为架构师,如果你现在还不了解ServiceMesh的话,是否感觉有点落伍了? 那么到底什么是ServiceMesh?它诞 阅读全文
posted @ 2019-03-19 14:27 littlewrong 阅读(12770) 评论(2) 推荐(1) 编辑
摘要: 了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器。 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写。 死锁:是数据库性能的重量级杀手之一,而死锁却是不同事务之间抢占数据资源造成的。 不懂的听上去,挺神奇的,懂 阅读全文
posted @ 2019-02-20 11:06 littlewrong 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面 阅读全文
posted @ 2019-02-02 09:02 littlewrong 阅读(3925) 评论(0) 推荐(0) 编辑
摘要: ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。 ETL的 阅读全文
posted @ 2019-01-26 19:52 littlewrong 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 在考虑重编译T-SQL(或者存储过程)的时候,有两种方式可以实现强制重编译(前提是忽略导致重编译的其他因素的情况下,比如重建索引,更新统计信息等等), 一是基于WITH RECOMPILE的存储过程级别重编译,另外一种是基于OPTION(RECOMPILE)的语句级重编译。 之前了解的比较浅,仅仅认 阅读全文
posted @ 2019-01-14 18:44 littlewrong 阅读(1530) 评论(1) 推荐(1) 编辑
摘要: 一、概念 1.关联掩码(affinitymask) 为了执行多任务,MicrosoftWindows2000和WindowsServer2003有时会在不同的处理器之间移动进程线程。虽然从操作系统方面而言,这种活动是高效的,但是在高系统负荷的情况下,该活动会降低SQLServer的性能,因为每个处理 阅读全文
posted @ 2018-11-21 09:08 littlewrong 阅读(7232) 评论(0) 推荐(1) 编辑
摘要: yum install -y gcc gcc-c++ openssl openssl-devel 目前keepalived最新版本下载:[root@rhel ~]#wget -c http://www.keepalived.org/software/keepalived-1.2.12.tar.gz[ 阅读全文
posted @ 2018-11-18 12:37 littlewrong 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 一个ASP.NET项目在部署到生产环境时,当用户并发量达到200左右时,IIS出现了明显的请求排队现象,发送的请求都进入等待,无法及时响应,系统基本处于不可用状态。因经验不足,花了很多时间精力解决这个问题,本文记录了我查找问题的过程和最后解决方案,供大家参考。 软硬件环境: IBM刀片服务器,Int 阅读全文
posted @ 2018-11-18 09:41 littlewrong 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 1.作用:top命令用来显示执行中的程序进程,使用权限是所有用户。 2.格式:top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数: d:指定更新的间隔,以秒计算。 q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。 c:显 阅读全文
posted @ 2018-11-17 23:18 littlewrong 阅读(4197) 评论(0) 推荐(0) 编辑
摘要: 下载:https://grafana.com/grafana/download $ wget wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.4.3-1.x86_64.rpm (下载安装包)$ yu 阅读全文
posted @ 2018-11-17 12:45 littlewrong 阅读(2432) 评论(0) 推荐(0) 编辑
摘要: 概述安装influxDB时需要root用户或者管理员权限。 端口默认情况下,InfluxDB会使用如下的端口: * TCP8086端口是服务器监听端口,对HTTP API响应 * TCP8088端口是RPC服务端口,用于数据备份和保存 更多的端口使用细节和配置方式可以在配置文件/etc/influx 阅读全文
posted @ 2018-11-17 12:33 littlewrong 阅读(930) 评论(0) 推荐(0) 编辑
摘要: 关于String为值类型还是引用类型的讨论一直没有平息,最近一直在研究性能方面的问题,今天再次将此问题进行一次明确。希望能给大家带来点帮助。 如果有错误请指出。 来看下面例子: 复制代码复制代码 //值类型 int a = 1; int b = a; a = 2; Console.WriteLine 阅读全文
posted @ 2018-11-08 08:49 littlewrong 阅读(9808) 评论(1) 推荐(2) 编辑
摘要: 一 安装cmakewget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gztar -zxvf cmake-2.8.5.tar.gzcd /root/src/cmake-2.8.5./bootstrapmake make install 二、安装w 阅读全文
posted @ 2018-11-07 17:37 littlewrong 阅读(4708) 评论(0) 推荐(0) 编辑
摘要: CREATE OR REPLACE FUNCTION fun_turnpage( PageSize INT, PageIndex INT, FldSort VARCHAR, StrCondition VARCHAR) RETURNS SETOF record AS$BODY$DECLARE sele 阅读全文
posted @ 2018-10-29 15:32 littlewrong 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 什么是表分区? 表分区分为水平表分区和垂直表分区,水平表分区就是将一个具有大量数据的表,进行拆分为具有相同表结构的若干个表;而垂直表分区就是把一个拥有多个字段的表,根据需要进行拆分列,然后根据某一个字段进行关联。 表分区分为以下五个步骤: 1、创建文件组 2、创建数据文件 3、创建分区函数 4、创建 阅读全文
posted @ 2018-10-16 10:02 littlewrong 阅读(1509) 评论(1) 推荐(0) 编辑
摘要: 因为javascript分原始类型与引用类型(与java、c#类似)。Array是引用类型,所以直接用=号赋值的话,只是把源数组的地址(或叫指针)赋值给目的数组,并没有实现数组的数据的拷贝。另外对一维数组和多维数据的深拷贝实现方式是不一样的,下面分别讨论。 一、 错误实现 因为javascript分 阅读全文
posted @ 2018-10-16 09:19 littlewrong 阅读(3871) 评论(0) 推荐(0) 编辑
摘要: 前言: 在程序设计的时候、堆栈总是不可避免的会接触到、而对于堆和栈他们的区别、在程序运行时各自的作用,如何利用堆栈提高运行效率等 很多人都还了解的不够,今天google了很多文章,所以在这里作个完善总结,希望能给有心人些帮助。有不足的地方还希望能指出。 栈是随函数被调用时分配的空间 栈上分配的空间是 阅读全文
posted @ 2018-09-24 18:46 littlewrong 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 我们对ASP.NET Core的使用已经进行了相当一段时间了,大多数时候,我们的Web程序都是发布到Linux主机上的,当然了,偶尔也有需求要发布到Windows主机上,这样问题就来了,难道直接以控制台形式运行这个Web程序吗? 直接以控制台形式运行程序当然是可以的,但有以下问题: 如果我们把程序以 阅读全文
posted @ 2018-09-03 10:27 littlewrong 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 1、OceLot中间件介绍 在传统的BS应用中,随着业务需求的快速发展变化,需求不断增长,迫切需要一种更加快速高效的软件交付方式。微服务可以弥补单体应用不足,是一种更加快速高效软件架构风格。单体应用被分解成多个更小的服务,每个服务有自己的独立模块,单独部署,然后共同组成一个应用程序。把范围限定到单个 阅读全文
posted @ 2018-08-25 23:46 littlewrong 阅读(1495) 评论(3) 推荐(5) 编辑
摘要: ginx并发模型: nginx 的进程模型采用的是prefork方式,预先分配的worker子进程数量由配置文件指定,默认为1,不超过1024。master主进程创建监听套接口,fork子进程以后,由worker进程监听客户连接,每个worker子进程独自尝试accept已连接套接口,accept是 阅读全文
posted @ 2018-08-25 17:05 littlewrong 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树只有保持平衡时其查找效率才会高。 要保持二叉搜索树的平衡不是一件易事。不过还是有一些非常经典的办法可以做到,其中最好的方法就是将二叉搜索树实现为AVL树。 AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,他们在 1962 年的论文 "An al 阅读全文
posted @ 2018-08-19 11:33 littlewrong 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 引用来源:https://www.cnblogs.com/zhxx/p/7741939.html 实验目的 主Nginx挂掉,从nginx可以立即工作 利用vrrp技术,提供vip 当主nginx挂掉,利用脚本关闭主keepalied,keepalived通过vrrp技术实现从机获得vip,在从机安 阅读全文
posted @ 2018-08-17 10:23 littlewrong 阅读(852) 评论(0) 推荐(1) 编辑
摘要: 背景环境: SQL Server 2005或以上 Select * from 某个表,表的数据量约为30万行,在执行语句时通过观察sys.dm_exec_requests中的wait_type列发现是ASYNC_NETWORK_IO等待,在本地MSSQL2012上测试时发现了PREEMPTIVE_O 阅读全文
posted @ 2018-08-04 08:07 littlewrong 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 下面在还原一个数据库(备份文件40多G大小,实际数据库大小300G),在还原过程中,出现一直等待ASYNC_IO_COMPLETION,如下测试截图所示,已经等待了72分钟了,但是还原比例依然为0% SELECT r.session_id , r.command , r.start_time, r. 阅读全文
posted @ 2018-08-03 23:17 littlewrong 阅读(320) 评论(0) 推荐(0) 编辑
摘要: B树的定义 一棵m阶B树(Balanced Tree of order m),或为空树,或为满足下列特性对的m叉树。 Ki(1≤i≤n)Ki(1≤i≤n)为关键字,且关键字按升序排序。 指针$Ai(0\leq i\leq n)指向子树的根结点,指向子树的根结点,A{i-1}指向子树中所有结点的关键字 阅读全文
posted @ 2018-07-26 15:56 littlewrong 阅读(1241) 评论(0) 推荐(0) 编辑
摘要: 编辑csproj文件来禁用预编译步骤: 阅读全文
posted @ 2018-07-20 14:16 littlewrong 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 视图组件简介 在新的ASP.NET Core MVC中,视图组件类似于局部视图,但它们更强大。视图组件不使用模型绑定,仅依赖于您在调用时提供的数据。 视图组件特性: 呈现页面响应的某一部分而不是整个响应 包括在控制器和视图之间发现的关注分离和可测试性优势 可以具有参数和业务逻辑 通常在页面布局中调用 阅读全文
posted @ 2018-07-19 15:13 littlewrong 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 在考虑重编译T-SQL(或者存储过程)的时候,有两种方式可以实现强制重编译(前提是忽略导致重编译的其他因素的情况下,比如重建索引,更新统计信息等等), 一是基于WITH RECOMPILE的存储过程级别重编译,另外一种是基于OPTION(RECOMPILE)的语句级重编译。 之前了解的比较浅,仅仅认 阅读全文
posted @ 2018-07-19 12:01 littlewrong 阅读(1577) 评论(0) 推荐(0) 编辑
摘要: 在数据库大小分配期间,我正在等待类型PREEMPTIVE_OS_WRITEFILEGATHER。昨天,我将数据库大小配置为供应商建议的值。我们需要将数据库大小设置为700GB,保留150 GB的日志文件。我已经在不到2分钟的时间内成功配置了数据文件大小,因为我们已经启用了 即时文件初始化。我们知道即 阅读全文
posted @ 2018-07-03 16:44 littlewrong 阅读(1122) 评论(0) 推荐(0) 编辑
摘要: 在考虑重编译T-SQL(或者存储过程)的时候,有两种方式可以实现强制重编译(前提是忽略导致重编译的其他因素的情况下,比如重建索引,更新统计信息等等), 一是基于WITH RECOMPILE的存储过程级别重编译,另外一种是基于OPTION(RECOMPILE)的语句级重编译。 之前了解的比较浅,仅仅认 阅读全文
posted @ 2018-07-01 12:22 littlewrong 阅读(2537) 评论(0) 推荐(0) 编辑
摘要: Latch是轻量级的锁,它是SQL Server内部用来同步资源访问的一个数据结构,使数据的访问同步有序,这意味着,当一个线程获得资源R的Latch的独占使用权时,如果其他的线程也想访问这个Latch时,那么它必须等待该Latch的独占使用权释放。 一,Latch介绍 Latch主要分为两种:Buf 阅读全文
posted @ 2018-06-28 18:31 littlewrong 阅读(267) 评论(0) 推荐(0) 编辑
摘要: JavaScript有多种继承模式,总结起来用到的方法有:原型链的传递、构造函数的借用、对象的复制。 这篇文章讲得很清晰,让我们明白:所有JS对象源于null,并通过原型指针和原型对象来实现继承。 构造函数和原型对象的关系如下: 每个构造函数都有一个prototype属性,指向函数的原型对象;原型对 阅读全文
posted @ 2018-06-24 17:38 littlewrong 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 这里介绍 Dijkstra 算法,它是一个应用最为广泛的、名气也是最大的单源最短路径算法Dijkstra 算法有一定的局限性:它所处理的图中不能有负权边 「前提:图中不能有负权边」 换句话说,如果一张图中,但凡有一条边的权值是负值,那么使用 Dijkstra 算法就可能得到错误的结果不过,在实际生活 阅读全文
posted @ 2018-06-18 20:44 littlewrong 阅读(17150) 评论(1) 推荐(5) 编辑
摘要: Makefile 值得一提的是,在Makefile中的命令,必须要以[Tab]键开始。 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像 阅读全文
posted @ 2018-06-17 18:41 littlewrong 阅读(959) 评论(0) 推荐(0) 编辑
摘要: gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语 阅读全文
posted @ 2018-06-17 15:10 littlewrong 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 语法 选项 参数 文件:二进制可执行程序。 实例 以下是linux下dgb调试的一个实例,先给出一个示例用的小程序,C语言代码: 请将此代码复制出来并保存到文件 gdb-sample.c 中,然后切换到此文件所在目录,用GCC编译之: 在上面的命令行中,使用 -o 参数指定了编译生成的可执行文件名为 阅读全文
posted @ 2018-06-16 09:39 littlewrong 阅读(1268) 评论(0) 推荐(0) 编辑
摘要: 在计算机这个范畴内存在许多种类的集合,从简单的数据结构比如数组、链表,到复杂的数据结构比如红黑树,哈希表。尽管这些数据结构的内部实现和外部特征大相径庭,但是遍历集合的内容确是一个共同的需求。.NET Framework通过IEnumerable和IEnumerator接口实现遍历集合功能。 IEnu 阅读全文
posted @ 2018-05-27 09:15 littlewrong 阅读(525) 评论(0) 推荐(0) 编辑