java架构之路
yao不ke及
2年程序猿,技术转型阶段,熟悉java,php,web前端技术,正处于技术发展的迷茫期,思前想后,准备专攻java。我爱技术,我爱分享。
展开
-
java同步,异步和阻塞,非阻塞的联系和区别
同步和异步站在任务调度者看任务之间有无顺序关系; 阻塞和非阻塞是站在CPU角度看内设(cpu和内存)和外设之间的速度匹配上差距产生的认识。 同步与异步所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任务的状态可以保持一致。而异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作...转载 2018-03-28 11:31:16 · 208 阅读 · 0 评论 -
分布式一致性算法2PC和3PC
2018-01-08 16:21:10 为了解决分布式一致性问题,产生了不少经典的分布式一致性算法,本文将介绍其中的2PC和3PC。2PC即Two-Phase Commit,译为二阶段提交协议。3PC即Three-Phase Commit,译为三阶段提交协议。分布式系统和分布式一致性问题 分布式系统,即运行在多台不同的网络计算机上的软硬件系统,并且仅通过消息传递来进行通信和...转载 2019-07-09 11:13:16 · 213 阅读 · 0 评论 -
linux安装redis 完整步骤
1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz2.解压 tar xzvf redis-4.0.8.tar.gz3.安装 cd redis-4.0.8 make cd src make install PREFIX=/usr/local/redis4.移动配置文...转载 2019-06-06 16:03:30 · 203 阅读 · 0 评论 -
Java网络爬虫基于webMagic
说到爬虫呢 当然是python最适合干的事 但是java呢 基于这个庞大成熟的生态圈,也有一些不错的爬虫框架可以在实际项目中使用的。webMagic就是今天的主角 它在github上的start数量达到了近7000 很了不起了 并且这个是我们国人开发的哦。简单介绍下吧:webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发项目结构...转载 2019-05-31 11:32:06 · 264 阅读 · 0 评论 -
Jrebel最新激活破解方式(持续更新) 转
一、安装JRebel二、激活2019-04-01愚人节最新激活地址 :http://139.199.89.239:1008/4571ab86-eb0d-4d2b-999e-37406bb8ba38正常完成第一步之后 , jrebel就能正常使用了 . 但很多人往往用不到几天就提示激活失败, 无法使用了 .jrebel激活之后默认是联网使用的 , 在该模式...转载 2019-05-31 15:16:06 · 4947 阅读 · 0 评论 -
使用Prometheus+Grafana搭建监控系统(一)
使用Prometheus+Grafana搭建监控系统(一)1.前言在线上业务中经常遇到服务器负载过高问题,由于没有监控,一直没发现,直到业务方反馈网站打开速度慢,才能发现问题。这样显得开发很被动。因那次考虑研究搭建一套监控系统了。本身对于spring boot应用,可以使用spring boot admin进行监控,但是发现不够全面,调研了一段时间,发现Prometheus+Grafa...转载 2019-06-14 21:24:09 · 691 阅读 · 0 评论 -
Prometheus+Grafana监控系统搭建
Prometheus对比Zabbix和Zabbix类似,Prometheus也是一个近年比较火的开源监控框架,和Zabbix不同之处在于Prometheus相对更灵活点,模块间比较解耦,比如告警模块、代理模块等等都可以选择性配置。服务端和客户端都是开箱即用,不需要进行安装。zabbix则是一套安装把所有东西都弄好,很庞大也很繁杂。zabbix的客户端agent可以比较方便的通过脚本来读取机...转载 2019-06-14 21:24:40 · 515 阅读 · 0 评论 -
grafana + influxdb + telegraf , 构建linux性能监控平台
安装3个软件1.Grafana安装grafana , 访问各类数据源 , 自定义报表、显示图表等等 , 用于提供界面监控 , 默认端口为3000 ,如http://127.0.0.1:3000访问, 默认登陆信息账号和密码分别admin和admin本人系统版本centos7,用yum安装 yum install https://s3-us-west-2.amazonaws.c...转载 2019-06-15 11:07:04 · 380 阅读 · 0 评论 -
Skywalking vs Pinpoint
说明:本次对比基于skywalking-6.0.0-GA和Pinpoint-1.8.2(截止2019-02-19最新版本)。另外,我们这次技术选型直接否定了Zipkin,其最大原因是它对代码有侵入性,CAT也是一样。这是我们所完全无法接受的。这应该是目前最优秀的两款开源APM产品了,而且两款产品都通过字节码注入的方式,实现了对代码完全无任何侵入,他们的对比信息如下:Pinpoint...转载 2019-07-08 17:11:42 · 1269 阅读 · 0 评论 -
在kubernetes集群中部署mysql主从
本文介绍在kubernetes环境中部署mysql主从集群,数据持久化采用nfs。一、环境介绍Mysql版本:5.7Mysql master节点:主机名:vm1IP地址:192.168.115.5/24Mysql slave节点:主机名:vm2IP地址:192.168.115.6/24NFS节点:主机名:vm2IP地址:192.168.115.6/24共享目录:...转载 2019-04-26 16:07:57 · 594 阅读 · 0 评论 -
kubernetes-核心资源之Ingress
1、Ingress在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,在Kubernetes中可以通过NodePort和LoadBalancer这两种类型的服务,或者使用Ingress。Ingress本质是通过http代理服务器将外部的http请求转发到集群内部的后端服务。Kubernetes目前支持GCE...转载 2019-04-12 23:35:36 · 227 阅读 · 0 评论 -
利用gitlab的webhook触发jenkins
因为想解放人工,实现代码push完后jenkins自动部署代码,代码仓库用的是gitlab,首先想到当然是,gitlab通过webhook去通知jenkins部署代码。在网上找文档,发现大多数都是粘贴复制而且质量参差不齐,爬坑不少前期准备安装部署jenkins(参考Jenkins官方文档) 安装部署gitlab(参考gitlab官方文档)配置jenkins 安装插件 ...转载 2019-04-09 11:25:40 · 3966 阅读 · 0 评论 -
Java并发编程三:并发(Concurrent)与并行(Parallel)的区别(一)
并发(Concurrent)与并行(Parallel)是一个大家比较容易混淆的概念。大家在解释并发与并行的时候一般这样说:多线程是并发执行的;多核CPU是并行执行的,单核CPU是不可以不行执行的;以上说法也是可以理解的,大家都是基于场景来描述的。为了搞清楚这个问题,我查阅了一些资料,发现这篇译文:并发不是并行,它更好中的图片很好的说明了并发与并行的区别。定义网络上找到的定义如下:并发(Concur...转载 2018-03-28 11:40:03 · 510 阅读 · 0 评论 -
临界区,互斥量,信号量,事件的区别
临界区(Critical Section)保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么 在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操 作共享资源的目的。 临界区包含两个操作原语: EnterCritica...转载 2018-03-28 11:50:14 · 216 阅读 · 0 评论 -
Java并发
这是将是一系列关于Java并发基础知识的文章。事实上,主要是《实战Java高并发程序设计》的读书笔记和网络资料以及对它们的整理。相关概念1.同步Synchronous和异步Asynchronous同步和异步通常是用来形容一次方法调用。所谓同步,就是在发出一个”调用”时,在没有得到结果之前,该”调用”就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由”调用者”主动等待这个”调用”的结果。而...转载 2018-03-28 11:56:26 · 693 阅读 · 0 评论 -
【并发】Amdahl's Law 阿姆达尔定律
利用Amdahl定律,可以计算出通过改进计算机某一部分而能获得的性能增益。Amdahl定律表明,使用某种快速执行模式获得的性能改进受限于可使用此种快速执行方式的时间比例。Amdahl定律定义了使用某一特定功能所获得的加速比(speedup)。加速比是什么?假定我们可以对某一计算机进行某种升级,在采用这一升级时可以提高计算机的性能。加速比的定义为: 加速比告诉我们,与原计算机相比,在经过升级的计算机...转载 2018-03-28 13:35:48 · 923 阅读 · 0 评论 -
有关并行的两个重要定律
使用并行程序处于两个目的。第一,为了获得更好的性能;第二,由于业务模型的需要,确实需要多个执行实体。一、Amdahl定律Amdahl定律是计算机科学中非常重要的定律。它定义了串行系统并行化后的加速比的计算公式和理论上限。加速比定义:加速比=优化前系统耗时/优化后系统耗时即,所谓加速比,就是优化前的耗时与优化后耗时的比值。加速比越高,表明优化效果越明显。图1.8显示了Amdahl公式的推导过程,其中...转载 2018-03-28 13:43:12 · 402 阅读 · 0 评论 -
Service Mesh
Service Mesh(服务网格)会是今年微服务生态的主角吗?从趋势来看,众多企业正在将这项理微服务复杂性的技术/工具,搬进他们的IT“火药库”之中。什么是Service Mesh?根据Linkerd CEO William Morgan定义,Service Mesh是用于处理服务间通信的基础设施层,用于在云原生应用复杂的服务拓扑中实现可靠的请求传递。在实践中,Service Mesh通...转载 2019-02-28 15:03:05 · 136 阅读 · 0 评论 -
使用kubeadm安装Kubernetes 1.13.0
转子:kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。最近发布的Kubernetes 1.13中,kubeadm的主要特性已经GA了,但还不包含高可用,...转载 2019-03-04 23:16:46 · 790 阅读 · 0 评论 -
Typora 语法结构与功能
Typora 语法结构与功能Typora 语法结构与功能 数学表达式 下标 上标 插入表情 下划线 删除线 代码 强调 斜体 插入图片 插入URL连接 目录列表Table of ContentsTOC 水平分割线 标注 表格 数学表达式块 任务列表 列表 块引用 标...原创 2019-03-29 18:50:37 · 298 阅读 · 0 评论 -
Centos 7 Linux创建Jenkins启动脚本以及开机启动服务
jenkins.sh #!/bin/bash ###主要目的用于开机启动服务,不然 启动jenkins.war包没有java -jar的权限 JAVA_HOME=/usr/local/src/jdk1.8.0_192 pid=`ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print ...转载 2019-04-09 00:25:43 · 1158 阅读 · 0 评论 -
jenkins gitlab webhook 403 anonymous is missing the Job/Build permission
引言: jenkins + gitlab 持续集成的时候 。我们希望有人提交代码会自动构建项目,利用gitlab的webhook 可以轻松实现,可是在集成的时候403 anonymous is missing the Job/Build permission点击测试 会报403异常 anonymous is missing the Job/Build permission两步解决问题...转载 2019-04-09 11:24:27 · 1500 阅读 · 0 评论 -
centos7 安装clamav 进行病毒扫描查杀
linux系统常作为服务器系统,已安全著称,但是随着市场占有量的增大,慢慢的linux病毒也还是增多,而对于病毒,一般都是管理员手动分析进行查杀,除了手动分析查杀病毒外,还可以借助杀毒软件进行查杀,就像windows都有杀毒软件一样,liunx的杀毒软件也是有的,但基本上都是开源的小工具,由于本身linux服务器的病毒就较少,且相对windows更难以入侵,所以专门的Linux杀毒软件较少,专门研...转载 2019-08-07 22:02:04 · 1026 阅读 · 0 评论