自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (4)
  • 收藏
  • 关注

原创 Go语言中的微服务

在这里,我要介绍以下框架:Go Micro Go Kit Gizmo Kite框架简介Go Micro这是我认为最受欢迎的框架之一。有很多博客文章和简单的例子可供使用参考。您可以从microhq在 Medium 或@MicroHQ获得 Go Micro 的最新更新。那么,什么是 Go Micro ?它是一个可拔插的 RPC 框架,用于在 Go 中编写微服务。开箱即用,您将看到:服务发现 - 自动向服务发现系统注册的应用程序。 负载均衡 - 客户端负载均衡,用于平衡服...

2021-01-19 17:59:16 37

原创 Centos7系统安装docker

Docker目前支持Centos 7及以后版本的操作系统,内核版本至少要求3.10。一、第一种安装方法1、为了方便添加软件源,以及支持devicemapper存储类型,安装软件包# yum install yum-utils device-mapper-persistent-data lvm2 -y2、添加Docker稳定版本的yum软件源# yum-config-manager --add-repo https://download.docker.com/linux/cent...

2020-12-14 10:58:12 11

原创 CentOS下安装etcd集群

一 . 在所有机器上安装etcd我们准备3台机器172.18.0.231 集群节点1 172.18.0.232 集群节点2 172.18.0.233 集群节点3 #yum安装etcdyum install -y etcd二 . 修改配置#备份原配置文件并编辑cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bkvim /etc/etcd/etcd.conf参考配置:...

2020-12-10 16:56:47 14

原创 go生成私钥公钥

openssl方式生成私钥公钥openssl genrsa -out rsa_private_key.pem 1024openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pemGo代码方式生成私钥公钥package mainimport ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "os")//生成R

2020-12-02 16:41:57 58

原创 Kubernetes基础之1-20

https://www.cnblogs.com/wlbl/tag/kubernetes/

2020-11-18 17:40:46 62

原创 mysql 避免重复写入数据的三种方式 和insert ...on duplicate updt... 死锁

mysql在存在主键冲突或者唯一键冲突的情况下,根据插入策略不同,一般有以下三种避免方法。1、insert ignore2、replace into3、insert on duplicate key update注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用以上三个语句没有意义,与使用单纯的INSERT INTO相同。一、insert ignoreinsert ignore会忽略数据库中已经存在的数据(根据主键或者唯一索引判断),如果数据库没有数据,就插入新的数据,如

2020-10-12 15:54:02 87

原创 elasticsearch(四):centos7 超简单安装elasticsearch 的 jdbc

前言elasticsearch(下面简称ES)使用jdbc连接mysql比go-mysql-elasticsearch的elasticsearch-river-jdbc能够很好的支持增量数据更新的问题(来自go-mysql-elasticsearch的作者siddontang)。下面是选取官方最新(2016/10/31选取的)的ES版本和ES-jdbc版本对照图(2017-01-12对照图还是不变)我的是比较新的ES的2.4.1,实际使用jdbc的2.3.4.1没有问题,建议ES超.

2020-10-08 11:32:35 35

原创 elasticsearch(三):centos7 安装中文分词插件elasticsearch-analyzer-ik

前言elasticsearch(下面简称ES,安装ES点击这里)的自带standard分词只能把汉语分割成一个个字,而不能分词、分段,这就是我们需要分析器ik的地方了。一、下载ik的相应版本查看版本和下载链接点击这里这里提供5.0.0的ES及以前的版本对应的ik版本--------2017-01-12 更新版本对应的ik----------------二、下载的方式我这里的ES是2.4.1,对应的ik版本是1.10.1在版本里选择1.10.1,点击【clone or.

2020-10-08 11:32:04 31

原创 elasticsearch(二):centos7 超简单安装elasticsearch 的监控、测试的集群工具elasticsearch head

elasticsearch-head是elasticsearch(下面称ES)比较普遍使用的可监控、测试等功能的集群管理工具,是由H5编写的单独的网页程序。使用方法网上很多,这里教大家一个超简单安装head的方法,这里前提是已经安装并且正确运行了ES(点击这里有教程安装elasticsearch)。只用一个命令即可安装:进入elasticsearch的安装目录,我的是在/usr/share/elasticsearch目录下# bin/plugin -install mobz/elastic.

2020-10-08 11:30:53 29

原创 elasticsearch(一):centos7 elasticsearch的两种简单安装方法

前言elasticsearch(下面称为ES)是一个基于Lucene的搜索服务器(By 百度百科:查看)。所以他需要java的环境即jdk,这里提供懒人一键安装方式 1 yum install java* 简单配置 1 vim /etc/profile 在尾部加上export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91.x86_64expor...

2020-10-08 11:29:21 21

原创 centos7.6永久关闭防火墙

1,查看防火墙状态:systemctlstatus firewalld.service2,关闭防火墙:systemctlstop firewalld.service3,禁止开机启动:systemctl disable firewalld.service

2020-09-29 19:20:43 29

原创 Golang使用mgo.v2包操作MongoDB的基础示例

golang对MongoDB的操作使用gopkg.in/mgo.v2库操作。如下是基本的一些用法连接package mainimport ("log""time""gopkg.in/mgo.v2")const (Monggolang对MongoDB的操作使用gopkg.in/mgo.v2库操作。如下是基本的一些用法连接package mainimport ( "log" "time" "gopkg.in/mgo.v2")const (.

2020-09-11 15:18:51 91

原创 Mysql5.7忘记root密码及mysql5.7修改root密码的方法

关闭正在运行的 MySQL : 1 [root@www.woai.it ~]# service mysql stop 运行 1 [root@www.woai.it ~]# mysqld_safe --skip-grant-tables & 为了安全可以这样禁止远程连接: 1 [root@www.woai.it ~]# mysqld_safe --skip-grant-tables

2020-08-28 15:30:31 63

转载 使用RabbitMQ实例

以 Direct 类型的 交换机和 Queue 的 get 方法为例.producer.php// 连接设置$conConfig = [ 'host' => '127.0.0.1', 'port' => 5672, 'login' => 'root', 'password' => 'root', 'vhost' => '/'];try{ // RabbitMQ 连接实例 $con = new AM

2020-08-19 17:23:20 25

原创 RabbitMQ+PHP 消息队列环境配置

参考文档:http://www.cnblogs.com/phpinfo/p/4104551...http://blog.csdn.net/historyasamirror/ar...依赖包安装yuminstallncurses-devel unixODBC unixODBC-develerlang环境wget http://erlang.org/download/otp_src_18.1.tar.gztar -zxvf otp_src_18.1.tar.gzcd otp_src_..

2020-08-18 15:39:15 25

原创 hbuilder x安卓证书无效

一开始一直按网上的方法生成证书发现生成出来的证书一直是无效的证书。然后就想到应该是hbuilder解析不了证书格式于是开始折腾先去下载了hbuilder官方的证书,用keytool查看keytool -list -v -keystore ./HBuilder.keystore发现签名算法名称: SHA1withRSA主体公共密钥算法:1024 位 RSA 密钥密钥库类型:JKS果然和默认生成不一样,下面直接给出解决方案。第一步生成正常的证书:keytool -genkey -ali

2020-08-17 13:35:50 63

原创 Android WebView 全面干货指南

一、简介这部分主要介绍下 WebView,WebView 是一个用来显示 Web 网页的控件,继承自 AbsoluteLayout,和使用系统其他控件没什么区别,只是 WeView 控件方法比较多比较丰富。因为它就是一个微型浏览器,包含一个浏览器该有的基本功能,例如:滚动、缩放、前进、后退下一页、搜索、执行 Js等功能。在 Android 4.4 之前使用 WebKit 作为渲染内核,4.4 之后采用 chrome 内核。Api 使用兼容低版本。官方 WebView.htmlA View

2020-07-13 17:58:22 345

原创 PHP JWT API接口验签

Composer:https://github.com/lcobucci/jwt<?phpuse Lcobucci\JWT\Builder;use Lcobucci\JWT\Signer\Hmac\Sha256;use Lcobucci\JWT\Parser;class Jwt{ //生成token public function createToken() { $key = 'abcd'; $signer = new S.

2020-05-12 15:12:02 72

原创 golang调试日志写到txt

func log_output(str_content string) { fd,_:=os.OpenFile("a.txt",os.O_RDWR|os.O_CREATE|os.O_APPEND,0644) fd_time:=time.Now().Format("2006-01-02 15:04:05"); fd_content:=strings.Join([]string{...

2020-04-29 16:59:40 87

转载 Elasticsearch学习,增、删、改、查操作

https://blog.csdn.net/laoyang360/article/details/51931981

2020-04-21 17:51:27 52

原创 Elasticsearch学习笔记

Elasticsearch是什么Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识、原理从初学者认知、学习的角度,从以下9个方面进行详细梳理。欢迎讨论……0. 带着问题上路——ES是如何产生的?(1)思考:大规模数据如何检索?如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题:1)用什么数据库好?...

2020-04-21 17:47:45 84

原创 行级锁和表级锁, 乐观所和悲观锁,温故知新

由于InnoDB 预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL 才会执行Row lock (只锁住被选取的数据) ,否则MySQL 将会执行Table Lock (将整个数据表单给锁住)。举个例子:假设有个表单products ,里面有id 跟name 二个栏位,id 是主键。例1: (明确指定主键,并且有此数据,row lock)SELECT * FR...

2020-04-15 11:19:50 41

原创 Golang使用通道的同步等待组WaitGroup开发并发爬虫

在Go的并发编程中有一句很经典的话:不要以共享内存的方式去通信,而要以通信的方式去共享内存。在Go语言中并不鼓励用锁保护共享状态的方式在不同的Goroutine中分享信息(以共享内存的方式去通信)。而是鼓励通过channel将共享状态或共享状态的变化在各个Goroutine之间传递(以通信的方式去共享内存),这样同样能像用锁一样保证在同一的时间只有一个Goroutine访问共享状态。当然,...

2020-04-07 16:13:13 108

原创 thinkphp+redis实现秒杀功能

1,安装redis,根据自己的php版本安装对应的redis扩展(此步骤简单的描述一下)  1.1,安装php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图:    1.2,php.ini文件新增extension=php_igbinary.dll;extension=php_redis.dll两处扩展ok此处已经完成第一步redis环...

2020-03-31 15:53:37 164

原创 Golang 微服务教程

本节对 gRPC 的使用浅尝辄止,更多可参考:gRPC 中 Client 与 Server 数据交互的 4 种模式前言系列概览《Golang 微服务教程》分为 10 篇,总结微服务开发、测试到部署的完整过程。本节先介绍微服务的基础概念、术语,再创建我们的第一个微服务 consignment-service 的简洁版。在接下来的第 2~10 节文章中,我们会陆续创建以下微服务:c...

2020-03-26 23:27:54 88

原创 PHP环境下使用ProtoBuf

前言  RPC是google公司主导的一款RPC框架,并使用protobuf作为数据传输格式,伴随gRPC框架的成熟及使用人群的增加,对于底层使用的数据格式protobuf也被越来越受到重视,而对于PHP生态而言,相关ProtoBuf介绍文档及使用资料比较少,故此写简文希望能帮助到一些有需要的同学。  ProtoBuf (Google Protocol Buffer)是由google公司用于...

2020-03-20 15:07:39 60

原创 PHP并发IO编程

并发IO问题一直是后端编程中的技术挑战,从最早的同步阻塞Fork进程,到多进程/多线程,到现在的异步IO、协程。PHP程序员因为有强大的LAMP框架,对底层方面的知识知之甚少,本文目的就是详细介绍PHP进行并发IO编程的各种尝试,最后再介绍Swoole的使用,深入浅出全面理解并发IO问题。多进程/多线程同步阻塞最早的服务器端程序都是通过多进程、多线程来解决并发IO的问题。进程模型出现的最早...

2020-03-20 15:06:29 63

原创 tp5框架数据库Db增删改查常见操作总结

添加数据insert? 1 2 3 4 5 $data = [ 'name_cn' => '张三', 'name_en' => 'jack', ]; $res = Db::name('style')->insert($data); 添加数据。? 1...

2020-01-14 14:57:58 135

原创 Linux CronTab定时访问php脚本任务

先进入命令行模式。作为服务器的linux一般都默认进入命令行模式的,当然,我们管理服务器也一般通过putty或者xshell等工具远程连接到服务器。在命令行中键入:crontab -e之后就会打开一个文件,并且是非编辑状态,则是vi的编辑界面,通过敲键盘上的i,进入编辑模式,就可以编辑内容。如果要提高效率,直接用php去执行本地php文件是最佳选择,例如:00 */2 * * *...

2019-12-06 10:25:41 32

原创 CentOS7.5 OneinStack安装apache,nginx环境(包括PostgreSQL、Kafka、RabbitMQ)

1、准备# 安装之前先检查一下系统是否有默认安装的`apache`或者`php`$ rpm -qa|grep httpd$ rpm -qa|grep php$ rpm -qa|grep mysql# 把上面指令列出来的包删除$ rpm -e ****(包名)# 安装一些必备的包$ yum -y install gcc gcc-c++ make screen wget net...

2019-11-28 10:39:04 85

原创 ThinkPhP+redis队列缓存+mysql 批量入库

源码地址:https://github.com/Tinywan/PHP_Experience问题分析问题一:要求日志最好入库;但是,直接入库mysql确实扛不住,批量入库没有问题,done。【批量入库和直接入库性能差异】 问题二:批量入库就需要有高并发的消息队列,决定采用redis list 仿真实现,而且方便回滚。 问题三:日志量毕竟大,保存最近30条足矣,决定用php写个离线统计和...

2019-11-09 17:28:09 111

原创 2019年PHP面试题记录

PHP页面表单防止跨域攻击的方法实现,原理 PHP防止重复提交的方法 PHP项目中mysql防止依赖注入的方法有哪些 实现负载均衡的方法有哪些,原理是什么 手写冒泡排序 php7的比php5的具体优势体现,说出5个以上 主从服务器的同步不一致处理办法 redis,mq,kafka做队列各自的优缺点 php多线程,子线程,协程的实现原理 100g数据表的迁移和查询优化方案...

2019-11-05 13:20:17 74

原创 MySQL创建定时任务

自MySQL5.1.6起,增加了一个非常有特色的功能-事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总、数据备份等等),来取代原先只能由操作系统的计划任务来执行的工作。更值得一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux的cron或Windows下的任务计划)只能精确到每分钟执行一次。对于一...

2019-08-21 17:47:09 37

转载 thinkphp where()条件查询

字符串条件使用字符串条件直接查询和操作,例如:$User=M("User");//实例化User对象 $User->where('type=1ANDstatus=1')->select();复制代码最后生成的SQL语句是SELECT*FROMthink_userWHEREtype=1ANDstatus=1复制代码如果使用3.1以上版...

2019-08-20 10:51:05 32

原创 thinkphp5按照设置的营业时间统计每天销售额分组

$day_start_time = '11:22:33';$hour = substr ($day_start_time , 0, 2);$minute = substr ($day_start_time , -5, 2);$second = substr ($day_start_time , -2);​​​​​​​$orders = DB::name('wxOrder') ...

2019-08-08 15:57:14 196

转载 Redis和MySQL数据同步及Redis使用场景

1.同步MySQL数据到Redis(1) 在redis数据库设置缓存时间,当该条数据缓存时间过期之后自动释放,去数据库进行重新查询,但这样的话,我们放在缓存中的数据对数据的一致性要求不是很高才能放入缓存当中。例如:缓存量大但又不常变化的数据,比如商品信息的评论。(2) 基于binlog使用mysql_udf_redis,将数据库中的数据同步到Redis。无...

2019-07-02 16:26:06 105

原创 RabbitMQ与Redis队列对比

简要介绍RabbitMQRabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。Redis是一个Key-Value的NoSQL数据库,开发维护很活跃,虽然它是一个Key-Value数据库存储系统...

2019-06-27 17:48:39 126

原创 上亿级响应式的商品详情页构建

商品详情页是什么商品详情页是展示商品详细信息的一个页面,承载在网站的大部分流量和订单的入口。京东商城目前有通用版、全球购、闪购、易车、惠买车、服装、拼购、今日抄底等许多套模板。各套模板的元数据是一样的,只是展示方式不一样。目前商品详情页个性化需求非常多,数据来源也是非常多的,而且许多基础服务做不了的都放我们这,因此我们需要一种架构能快速响应和优雅的解决这些需求问题。因此我们重新设计了商品详情页...

2019-06-27 16:31:35 60

原创 PHP+RabbitMQ队列系统演示实例

RabbitMQ是一个在AMQP基础上实现的企业级消息系统。何谓消息系统,就是消息队列系统,消息队列是“”消费-生产者模型“”的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。what?消费-生产者模型?对,没错!就是大学操作系统课程里面的“消费者-生产者模式”,记得当时被这个问题坑的不轻啊。在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步...

2019-06-27 16:27:04 246

原创 git 常用命令以及提交

git常使用的命令:1、git init —在当前目录新建一个代码库。2、 git config user.name=””git config user.email=””—设置代码提交时候的信息。3、 git clone 需要clone 远程地址 ––从服务器端克隆项目到本地4、 git status —查看文件修改状态。5、 git diff 文件路径 ––查看该文件与上次提交...

2019-06-27 14:39:52 55

C#图解教程(第5版)

C#2012 Solis 4ed 中文版 带书签 2013 540页 超清 C#最佳入门

2017-02-17

ZendStudio-13.6.1-win32.x86_64 破解补丁

破解方法,把com.zend.verifier_13.6.1.v20170623-1730.jar复制到zend studio安装目录下的plugins文件夹中替换原文件即可. PS:最主要是在安装目录plugins文件夹中找到 com.zend.verifier_13.6.xxxxxxx.jar 这样的文件,然后把plugins 文件夹中的这个文件名复制并把这个压缩包里的这个jar包名字覆盖掉,然后把这个重命名的补丁复制到plugins目录覆盖掉原来的com.zend.verifier_13.6.xxxxxxx.jar 文件。 只保证13.6.1版本有效,其他版本不知道是否有效,可以自己尝试。尝试前记得备份原来的 com.zend.verifier_13.6.xxxxxxx.jar 文件。

2017-12-16

ThinkPHP5高阶实战教程 --诠释为API开发而生

本教程目前上线内容已经比较多,虽然比较杂乱但都是干货,而且会持续不定期更新.....通过实例,诠释TP5为什么是为API开发而生.完全面对对象理念,通过控制器 模型 的高阶应用,结合验证类 继承 HOOK 构造函数 缓存 事件等的综合应用做高性能 开发周期的程序

2018-01-04

C#图解教程(第4版)

C#图解教程(第4版)被誉为C#入门图书中的“神书”,是高效、深入掌握C#的不二之选!“想通过学习C#为你的编程生涯打下坚实的基础?这本书是我发自内心推荐给你的。

2017-02-17

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除