task_list

聊聊dubbo-go的failbackCluster

我与影子孤独终老i 提交于 2020-08-13 18:29:51
序 本文主要研究一下dubbo-go的failbackCluster failbackCluster dubbo-go-v1.4.2/cluster/cluster_impl/failback_cluster.go type failbackCluster struct{} const failback = "failback" func init() { extension.SetCluster(failback, NewFailbackCluster) } // NewFailbackCluster ... func NewFailbackCluster() cluster.Cluster { return &failbackCluster{} } func (cluster *failbackCluster) Join(directory cluster.Directory) protocol.Invoker { return newFailbackClusterInvoker(directory) } failbackCluster的join方法执行newFailbackClusterInvoker newFailbackClusterInvoker dubbo-go-v1.4.2/cluster/cluster_impl/failback_cluster_invoker

activiti学习笔记二

可紊 提交于 2020-08-13 02:58:56
上一篇文章大概讲了下什么是流程引擎,为什么我们要用流程引擎,他的基本原理是啥,以及怎么进行基本的使用,这篇文章我们再讲下其他的一些使用。 删除流程部署 package activiti02; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RepositoryService; import org.activiti.engine.repository.ProcessDefinition; /** * 删除流程部署 * 影响了三张表: * act_ge_bytearray * act_re_deployment * act_re_procdef * 历史表信息会被保留,如果级联删除,会把全部记录删除 * */ public class ActivitiDeleteProcessDefinition { public static void main(String[] args) { // 1、创建ProcessEngine流程引擎对象 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); // 2

java8的parallelStream提升数倍查询效率

天大地大妈咪最大 提交于 2020-08-12 19:56:19
业务场景 在很多项目中,都有类似数据汇总的业务场景,查询今日注册会员数,在线会员数,订单总金额,支出总金额等。。。这些业务通常都不是存在同一张表中,我们需要依次查询出来然后封装成所需要的对象返回给前端。那么在此过程中,就可以把这个接口中“大任务”拆分成N个小任务,异步执行这些小任务,等到最后一个小任务执行完,把所有任务的执行结果封装到返回结果中,统一返回到前端展示。 同步执行 首先看看同步执行的代码 public class Test { @Data @NoArgsConstructor @AllArgsConstructor @ToString class Result { /** * 在线人数 */ Integer onlineUser; /** * 注册人数 */ Integer registered; /** * 订单总额 */ BigDecimal orderAmount; /** * 支出总额 */ BigDecimal outlayAmount; } @org.junit.Test public void collect() { System.out.println( "数据汇总开始" ); long startTime = System.currentTimeMillis(); Integer onlineUser = queryOnlineUser();

java8中parallelStream提升数倍查询效率是怎样实现的,来看看这篇文章

故事扮演 提交于 2020-08-11 03:00:40
作者:我恰芙蓉王 原文: https://www.cnblogs.com/-tang/p/13283216.html 业务场景 在很多项目中,都有类似数据汇总的业务场景,查询今日注册会员数,在线会员数,订单总金额,支出总金额等。。。这些业务通常都不是存在同一张表中,我们需要依次查询出来然后封装成所需要的对象返回给前端。那么在此过程中,就可以把这个接口中“大任务”拆分成N个小任务,异步执行这些小任务,等到最后一个小任务执行完,把所有任务的执行结果封装到返回结果中,统一返回到前端展示。 同步执行 首先看看同步执行的代码 public class Test { @Data @NoArgsConstructor @AllArgsConstructor @ToString class Result { /** * 在线人数 */ Integer onlineUser; /** * 注册人数 */ Integer registered; /** * 订单总额 */ BigDecimal orderAmount; /** * 支出总额 */ BigDecimal outlayAmount; } @org.junit.Test public void collect() { System.out.println("数据汇总开始"); long startTime = System

一个小时学会Maven

末鹿安然 提交于 2020-08-10 09:40:51
一、为什么要Maven 在开发中经常需要依赖第三方的包,包与包之间存在依赖关系,版本间还有兼容性问题,有时还里要将旧的包升级或降级,当项目复杂到一定程度时包管理变得非常重要。 Maven是当前最受欢迎的Java项目管理构建自动化综合工具 ,类似以前Java中的 Ant 、node.js中的 npm 、dotNet中的 nuget 、PHP中的 Composer 。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累。 Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。 每个Java项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在那里也没有一个权威的规范。 因此,我们就要用到Maven(使用Ant也可以,不过编写Ant的xml脚本比较麻烦)----一个项目管理工具。 Maven主要做了两件事: 统一开发规范与工具 统一管理jar包 如果 没有Maven ,你可能不得不经历下面的过程: 1 如果使用了spring,去spring的官网下载jar包

史上最便捷搭建 ZooKeeper 服务器的方法

左心房为你撑大大i 提交于 2020-08-09 14:23:56
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 什么是 ZooKeeper ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服务。由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。 ZooKeeper 有三种运行模式:单机模式、伪集群模式和集群模式。 单机模式:这种模式一般适用于开发测试环境,一方面我们没有那么多机器资源,另外就是平时的开发调试并不需要极好的稳定性。 集群模式:一个 ZooKeeper 集群通常由一组机器组成,一般 3 台以上就可以组成一个可用的 ZooKeeper 集群了。组成 ZooKeeper 集群的每台机器都会在内存中维护当前的服务器状态,并且每台机器之间都会互相保持通信。 伪集群模式:这是一种特殊的集群模式,即集群的所有服务器都部署在一台机器上。当你手头上有一台比较好的机器,如果作为单机模式进行部署,就会浪费资源,这种情况下,ZooKeeper允许你在一台机器上通过启动不同的端口来启动多个 ZooKeeper 服务实例,以此来以集群的特性来对外服务。

windows系统的taskkill和tasklist杀进程

核能气质少年 提交于 2020-08-09 08:39:39
taskkill掉windows服务被占用的端口 步骤: 找端口 netstat -ano | findstr "port" 找进程名字或进程PID tasklist | findstr "PID" 杀服务 taskkill /T /F /PID pid-number taskkill /T /F /IM 进程名字 说明:由端口找到进程就可以kill掉了,安全一点找到进程名字确认后再taskkill。 1、taskkill掉1353端口占用的进程,先找到端口对应的PID netstat -ano | findstr "1353" //看到进程PID是4960 查看进程PID4960对应的进程名字 tasklist | findstr "4960" 两种方法都可以杀掉:按照PID或进程名字 taskkill /F /T /PID 4960 taskkill /F /T /IM sesvc.exe 附加内容:开放更多的服务端口 有的服务器开放的端口数量比较少,端口总共65535,0-1024是是知名端口, 1025-65535都可以开,那就开个从10000开始,数量开40000个,也就是范围10000-50000。 可以先查看一下开放端口的情况: netsh int ipv4 show dynamicportrange tcp 修改方法: netsh int ipv4 set

ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)

喜你入骨 提交于 2020-08-06 03:03:32
在 上文中 我介绍了ASP.NET Core应用程序容器化时需要注意的几个问题,并给出了一个案例应用程序: tasklist 。今天接着上文的内容,继续了解一下如何使用Azure DevOps进行ASP.NET Core应用程序的持续集成。为了便于讨论,本文会将持续集成(Continuous Integration)缩写为CI,而将持续部署(Continuous Deployment)缩写为CD。 Azure DevOps前身是Visual Studio Team Services(VSTS),从2018年9月10日开始,VSTS改名为Azure DevOps,原来VSTS所提供的服务也作了相应的调整。有关Azure DevOps的介绍,可以参考 https://azure.microsoft.com/en-us/blog/introducing-azure-devops/ 。 容器化应用程序的CI/CD流程 下图展示了基于微软技术架构的容器化应用程序的CI/CD流程: 大致流程如下: 开发人员通过Visual Studio Team Services Backlog(也就是最新的Azure Boards)获取一些开发任务 开发人员使用Visual Studio进行应用程序开发 开发的代码保存在Visual Studio Team Services Git(也就是最新的Azure

五分钟学会markdown基本语法

故事扮演 提交于 2020-08-05 06:52:16
原文地址: https://www.wjcms.net/archives/五分钟学会markdown基本语法 写在前面的话 写在越来越多的人使用markdown编辑器,是因为它比较简洁方便快捷,能满足大家的需要,今天我们就一起来看一下markdown的基本语法。 特别提示:后面都需要加上半角空格才生效。 标题 在想要设置为标题的文字前面加# 来表示,一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。 示例: # 标题H1 ## 标题H2 ### 标题H3 #### 标题H4 ##### 标题H5 ###### 标题H5 效果如下: 标题H1 标题H2 标题H3 标题H4 标题H5 标题H5 字符效果和横线等 实例: ---- ~~删除线~~ <s>删除线(开启识别HTML标签时)</s> *斜体字* _斜体字_ **粗体** __粗体__ ***粗斜体*** ___粗斜体___ 上标:X<sub>2</sub>,下标:O<sup>2</sup> **缩写(同HTML的abbr标签)** > 即更长的单词或短语的缩写形式,前提是开启识别HTML标签时,已默认开启 The <abbr title="Hyper Text Markup Language">HTML</abbr> specification is maintained by the <abbr title=

C# 扩展TaskScheduler实现独立线程池,支持多任务批量处理,互不干扰,无缝兼容Task

独自空忆成欢 提交于 2020-08-05 05:21:29
为什么编写TaskSchedulerEx类? 因为.NET默认线程池只有一个线程池,如果某个批量任务一直占着大量线程,甚至耗尽默认线程池,则会严重影响应用程序域中其它任务或批量任务的性能。 特点: 1、使用独立线程池,线程池中线程分为核心线程和辅助线程,辅助线程会动态增加和释放,且总线程数不大于参数_maxThreadCount 2、无缝兼容Task,使用上和Task一样,可以用它来实现异步,参见: C# async await 异步执行方法封装 替代 BackgroundWorker 3、队列中尚未执行的任务可以取消 4、通过扩展类TaskHelper实现任务分组 5、和SmartThreadPool对比,优点是无缝兼容Task类,和Task类使用没有区别,因为它本身就是对Task、TaskScheduler的扩展,所以Task类的ContinueWith、WaitAll等方法它都支持,以及兼容async、await异步编程 6、代码量相当精简,TaskSchedulerEx类只有230多行代码 7、池中的线程数量会根据负载自动增减,支持,但没有SmartThreadPool智能,为了性能,使用了比较笨的方式实现,不知道大家有没有既智能,性能又高的方案,我有一个思路,在定时器中计算每个任务执行平均耗时,然后使用公式(线程数 = CPU核心数 * ( 本地计算时间 + 等待时间 )