一切福田,不離方寸,從心而覓,感無不通。

Spring Boot 容器选择 Undertow 而不是 Tomcat

Spring Boot 内嵌容器Undertow参数设置 配置项:

来看看源代码: https://github.com/undertow-io/undertow/blob/master/core/src/main/java/io/undertow/Undertow.java

很显然,Undertow认为它的运用场景是在IO密集型的系统应用中,并且认为多核机器是一个比较容易满足的点,Undertow初始化假想应用的阻塞系数在0.8~0.9之间,所以阻塞线程数直接乘了个8,当然,如果对应用较精确的估测阻塞系数,可以配置上去。   Spring Boot内嵌容器支持Tomcat、Jetty、Undertow。为什么选择Undertow? 这里有一篇文章,时间 2017年1月26日发布的: Tomcat vs. Jetty vs. Undertow: Comparison of Spring Boot Embedded Servlet Containers 1. Setup Spring Boot Application We will use Maven to setup a new project in Eclipse with the appropriate dependencies. We will use the starter parent for this example but the dependencies in a production application will likely be altered to streamline, optimize or customize. 1.1 Setup Spring Boot Dependencies The default embedded servlet container is Tomcat. This version of Spring Web […]

龙生   24 Sep 2019
View Details

Spring Boot :Undertow

Undertow Undertow 是红帽公司开发的一款基于 NIO 的高性能 Web 嵌入式服务器 Untertow 的特点: 轻量级:它是一个 Web 服务器,但不像传统的 Web 服务器有容器概念,它由两个核心 Jar 包组成,加载一个 Web 应用可以小于 10MB 内存 Servlet3.1 支持:它提供了对 Servlet3.1 的支持 WebSocket 支持:对 Web Socket 完全支持,用以满足 Web 应用巨大数量的客户端 嵌套性:它不需要容器,只需通过 API 即可快速搭建 Web 服务器 默认情况下 Spring Cloud 使用 Tomcat 作为内嵌 Servlet 容器,可启动一个 Tomcat 的 Spring Boot 程序与一个 Undertow 的 Spring Boot 程序,通过 VisualVM 工具进行比较,可看到 Undertow 性能优于 Tomcat 使用 Undertow 添加依赖

  支持 HTTP2

  配置 Undertow

  from:https://www.jianshu.com/p/e625b8aa0e80

龙生   24 Sep 2019
View Details

flyray项目介绍

flyray项目介绍 使用Spring+SpringMVC+Mybatis+dubbox 开发的一套分布式基础框架,提供支付、对账、清结算、客户管理、营销活动、库存管理、搜索模块、rocketmq做统一的消息队列中心 飞雷开源平台 cms前端工程 开发手册 开发部署文档 接口文档文档 各模块功能文档 有兴趣、想学习部署的可以加群交流  使用技术 后台 Maven构建项目 Jenkins作为持续集成 安全框架:Apache Shiro 1.3 构上采用Dubbox作为RPC框架 使用Spring+Spring MVC+MyBatisSSM框架 数据库连接池使用druid 数据库使用MySQL和Redis 采用elasticsearch实现搜索服务 采用quartz做任务调度 注册中心ZooKeeper 消息中间件RocketMQ, 在分布式事务上则采用了TCC解决订单支付方面时效性要求性高的分布式事务,可靠的消息服务则来解决如会计记录等时效性要求低的分布式事务. 前台 页面交互Vue2.x 数据可视化echarts 项目进度 组织结构 接口总线系统 对外暴露统一规范的接口,包括各个子系统的交互接口示例图:  运营中心 商户中心 开放平台 ##运行流程 ##flyray-base 项目搭建 系统环境:windows10 jdk8 eclipse tomcat8 ##搭建步骤 安装jdk1.8 安装maven 安装zookeeper 下载项目:git clone https://git.oschina.net/boleixiongdi/flyray.git eclipse导入maven项目 在群里下载缺少的dubbox包和zkclient包 解决缺少其他jar包问题,直到项目不报错 ##导入后项目结构  ##项目架构图  ##项目启动步骤 导入数据库脚本 flyray-os-各模块总的数据库.sql flyray-security-三个中心的数据库.sql 修改config工程中的resource下的dubbo、数据库配置文件 修改 flyray-rbac 下的flyray-merchant-web、flyray-open-web、flyray-operation-web中的resource\service-consumer.xml文件的dubbo IP 启动注册中心即zookeeper 启动所有的服务提供者cms、crm、pay、erp下的web工程 启动rest,rest既是cms、crm、pay、erp的服务消费者又是merchant-web、open-web、operation-web的服务提供者 最后启动merchant-web可以登录商户中心、启动operation-web可以登录运营中心、启动open-web可以看到开放平台 from:https://gitee.com/boleixiongdi/flyray

龙生   24 Sep 2019
View Details

Zookeeper 3.5启动时 8080端口被占用

今天闲来无事,学习Zookeeper,下载了Zookeeper的最新版本3.5。启动以后显示: 1 2 3 ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.5.4-beta/bin/../conf/zoo.cfg Starting zookeeper … STARTED 以为启动成功,然后连接时报错,查看后台进程,没有Zookeeper进程。 查看zookeeper的日志文件: 1 2 2018-06-29 01:36:01,142 [myid:] – ERROR [main:ZooKeeperServerMain@79] – Unable to start AdminServer, exiting abnormally org.apache.zookeeper.server.admin.AdminServer$AdminServerException: Problem starting AdminServer on address 0.0.0.0, port 8080 and command URL /commands 发现8080端口被占用,通过查阅Zookeeper3.5的官方文档,发现这是Zookeeper3.5的新特性: 这是Zookeeper AdminServer,默认使用8080端口,它的配置属性如下:   我们可以修改在zoo.cfg中修改AdminServer的端口: 1 admin.serverPort=8888 保存后,再次启动,Zookeeper启动成功。   from:https://www.cnblogs.com/boboooo/p/9242088.html

龙生   24 Sep 2019
View Details

windows安装zookeeper说明

zookeeper安装教程(zookeeper3.4.8为例) zookeeper有单机、伪集群、集群三种部署方式,可根据自己对可靠性的需求选择合适的部署方式。下边是单机部署的介绍。 一、单机安装 1.1 下载 进入要下载的版本的目录,选择.tar.gz文件下载,具体需要哪个版本,这个由你自己选择 下载链接:http://archive.apache.org/dist/zookeeper/ 1.2 配置,下载解压得到如下图所示: 点击conf,把zoo_sample.cfg修改成zoo.cfg,必须是叫这个名称。然后对其进行修改。 用文本打开zoo.cfg具体修改如下: 1.3,启动zooker服务。启动命令在bin文件下的zkServer.cmd. 当看到这个2181就表示启动成功了。 对于zookeeper集群,其实也就是修改conf/zoo.cfg的dataDir的存放位置以及相应在端口号,如第一个端口号:2181,第二个3181,…依次类推。这里不做详细介绍。 检查是否安装成功方式二:运行cmd,在命令行中输入jps如下图所示,表示zookeeper安装启动成功了。 到此,单机的zookeeper布置就结束。 那么,就可以搭建dubbo了。记得在搭建前先把zookeeper启动!!!   from:https://blog.csdn.net/qq_30764991/article/details/80188652

龙生   24 Sep 2019
View Details

PMP用语集

AC actual cost 实际成本 ACWP actual cost of work performed 已完工作实际成本 BAC budget at completion 完工预算 BCWP budgeted cost of work performed 已完工作预算成本 BCWS budgeted cost of work scheduled 计划工作预算成本 CCB change control board 变更控制委员会 COQ cost of quality 质量成本 CPAF cost plus award fee 成本加奖励费用 CPF cost plus fee 成本加费用 CPFF cost plus fixed fee 成本加固定费用 CPI cost performance index 成本绩效指数 CPIF cost plus incentive fee 成本加激励费用 CPM critical path methodology 关键路径法 CV cost variance 成本偏差 EAC estimate at completion 完工估算 EF early finish date 最早完成日期 EMV expected monetary value 预期货币价值 ES early start date 最早开始日期 ETC estimate to complete 完工尚需估算 EV earned value 挣值 EVM earned value management 挣值管理 FF finish-to-finish 完成到完成 FFP firm fixed price 固定总价 FMEA failure mode and effect analysis 失效模式与影响分析 FP-EPA fixed price with economic price adjustment 总价加经济价格调整 FPIF fixed price incentive fee 总价加激励费用 […]

龙生   23 Sep 2019
View Details

从备考PMP到与项目经理同呼吸

前言 PMP是什么梗?   项目管理专业人士资格认证。它是由美国项目管理协会(Project Management Institute(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证考试。其目的是为了给项目管理人员提供统一的行业标准。目前,美国项目管理协会建立的认证考试有:PMP(项目管理师)和CAPM(项目管理助理师)已在全世界190多个国家和地区设立了认证考试机构。 可能有一部分程序员伙伴不了解PMP是什么?但应该没有撸码的不知道项目经理这个称谓吧?记得在学校时,老师给我们灌输这样一种思想,你做个两三年,当上一个公司的项目经理,就不用敲代码的,天天布置任务给别人做就可以了。听到这等好事,我当时两眼直冒绿光….. 如标题所示,小弟于今天中午已经结束了几个月的备考期,那首先来说下PMP的考试内容 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ PMP考试内容主要包括项目管理五个过程: 启动:确立一个项目或一个项目阶段。 规划:为完成项目,制定和维护一个可操作的计划。 执行:协调人力和其他资源以执行计划。 监控:通过监控和进度测量及必要时采取纠正措施以确保项目目标的实现。 收尾:正式验收项目或项目阶段并使其有条不紊地圆满结束。 PMP考试采用客观的选择题形式,共计200题,其中25题不计成绩。答题时间:9:00~13:00,共计4个小时。从2005年9月30日开始,报名PMP考试的新生的及格线为61%(200道单选题中抽查25道不计分,即答对106道题) 有小伙伴看到这里不禁发出轻蔑的奸笑,搞了半天原来都是选择题,那太Soesay了.额。。。先别急着下结论,让我们先看看考PMP的最重要的一本书(这里说的是最重要的,意思就是还有其他辅助书籍,你懂得)                              (PMP考试主教材) 那要小伙伴就比较好奇了,看这本书的侧面貌似有些厚度,那这本书里面都有哪些内容呢? 恩,这个问题问的好~ 项目管理知识体系指南(以下简称PMBOK)把项目管理过程分为五类: 1) 启动。成立项目组开始项目或进入项目的新阶段。启动是一种认可过程,用来正式认可一个新项目或新阶段的存在。 2) 计划。定义和评估项目目标,选择实现项目目标的最佳策略,制定项目计划。 3) 执行。调动资源,执行项目计划。 4) 控制。监控和评估项目偏差,必要时采取纠正行动,保证项目计划的执行,实现项目目标。 5) 结束。正式验收项目或阶段,使其按程序结束。 PMBOK将项目管理划分为9个知识领域: 1、项目整体管理(Project Integration Management) 项目整体管理是为了正确地协调项目所有各组成部分而进行的各个过程的集成, 是一个综合性过程。 其核心就是在多个互相冲突的目标和方案之间作出权衡, 以便满足项目利害关系者的要求。 2、项目范围管理(Project Scope Management) 项目范围管理就是确保项目不但完成全部规定要做的, 而且也仅仅是完成规定要做的工作,最终成功地达到项目的目的。基本内容是定义和控制列入或未列入项目的事项。 3、项目时间管理(Project Time Management) 其作用是保证在规定时间内完成项目。 4、项目费用管理(Project Cost Management) 项目费用管理, 是为了保证在批准的预算内完成项目所必需的诸过程的全体。 5、项目质量管理(Project Quality Management) 项目质量管理, 是为了保证项目能够满足原来设定的各种要求。 6、项目人力资源管理(Project Human Resource Management) 项目人力资源管理, 是为了保证最有效地使用参加项目者的个别能力。 7、项目沟通管理(Project Communications Management) 项目沟通管理, 是在人、思想和信息之间建立联系, 这些联系对于取得成功是必不可少的。参与项目的每一个人都必须准备用项目“语言”进行沟通, 并且要明白, 他们个人所参与的沟通将会如何影响到项目的整体。 项目沟通管理是保证项目信息及时、准确地提取、收集、传播、存贮以及最终进行处置。 8、项目风险管理(Project Risk Management) 项目风险管理, 需要的过程有识别、分析不确定的因素, 并对这些因素采取应对措施。 项目风险管理要把有利事件的积极结果尽量扩大, 而把不利事件的后果降低到最低程度。 9、项目采购管理(Project Procurement Management) 项目采购管理, 需要进行的过程都是为了从项目组织外部获取货物或服务。 10、项目干系人管理(stakeholder management) […]

龙生   23 Sep 2019
View Details

PHP imagettftext(): Could not find/open font 错误

症状:验证码上只有背景图没有文字 Warning: imagettftext() [function.imagettftext]: Could not find/open font in ***.php on line ** 解决方案:处理掉中文目录!! 网上搜索到的答案大多是字体文件目录不对或者相对或绝对路径方面的问题,写下这段文字给后面需要填坑的朋友。   from:https://xiumu.org/note/php-imagettftext-could-not-find-open-the-font-errors.shtml

龙生   21 Sep 2019
View Details

maven依赖的项目报错Could not resolve dependencies for project XXXXXX

maven依赖的项目报错Could not resolve dependencies for project问题 maven如果依赖本地项目 1.例如自己本地项目是模块化的 首先将报错的模块执行 clean 和package 2. 然后执行install,将上一步执行成功的jar文件安装到responsitory 3.最后执行 mvn clean install -Dmaven.test.skip=true from:https://blog.csdn.net/zgy_boke/article/details/85243453

龙生   21 Sep 2019
View Details

Maven报错:Non-resolvable parent POM: Failure to find

http://www.bubuko.com/infodetail-2130667.html 使用maven创建子工程时,子工程需要依赖父工程,创建以后报错Project build error: Non-resolvable parent POM: Failure to find…… 网上的答案绝大多数都是在<parent></parent>中间加一行:<relativePath>../../pom.xml</relativePath>(原因是找不到路径) 但是我加了依旧没有解决,我的解决方法是,在子项目名点击右键--> run as -->maven install。待自动下载完包后就便可以解决错误   from:https://blog.csdn.net/baidu_18607183/article/details/80479925

龙生   21 Sep 2019
View Details