<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[calu的专栏]]></title><description><![CDATA[calu的代码之路]]></description><link>https://blog.youkuaiyun.com/a511310132</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a511310132]]></copyright><item><title><![CDATA[soul源码阅读 soul插件之hystrix插件]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/113522719</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/113522719</guid><author>a511310132</author><pubDate>Mon, 01 Feb 2021 16:41:50 +0800</pubDate><description><![CDATA[hystrix插件

根据官网的介绍，hystrix插件是网关用来对流量进行熔断的核心实现。查看代码可以发现，

HystrixPlugin extends AbstractSoulPlugin
	AbstractSoulPlugin implements SoulPlugin
SoulPlugin 是一个接口，接口定义了4个方法execute，getOrder,named,skip。execute是执行方法，getorder是获取优先级，named获取的是插件名，skip方式是判断是否跳过该插件。
Abs]]></description><category></category></item><item><title><![CDATA[soul源码阅读 soul数据同步之dubbo插件原理解析]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/113306683</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/113306683</guid><author>a511310132</author><pubDate>Thu, 28 Jan 2021 08:00:23 +0800</pubDate><description><![CDATA[alibabaDbubode的类图如下，继承了AubstactSoulPlugin类，实现了SoulPlugin接口










SoulWebHandler-&gt;

在SoulWebHandler.execute会循环查看pluginList。我发现soul的很多代码都会做循环查询，虽然说现在插件的数量并不多，循环 20次以内就可以解决，但是如果以后插件数量从10变成100，那这些大量的循环应该要优化才对。



然后调用方法跳到了AbstractSoulPlugin.execute，非...]]></description><category></category></item><item><title><![CDATA[soul源码阅读 soul数据同步之divide插件]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/113232813</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/113232813</guid><author>a511310132</author><pubDate>Wed, 27 Jan 2021 07:57:01 +0800</pubDate><description><![CDATA[首先启动soul-admin，soul-bootstrap,以及soul-example-http。soul-example-http启动两个，用于实验负载均衡。



然后修改流量权重。把端口8189的流量权重设为99，8188的权重设为1



使用http访问网关进行转发



可以发现基本上所有的请求都转发到8189的端口了



通过修改规则并查看http请求，发现修改负载均衡请求的http地址是http://localhost:9095/rule/1349406507408502784...]]></description><category></category></item><item><title><![CDATA[soul源码阅读 soul数据同步之Admin集群]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/113156536</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/113156536</guid><author>a511310132</author><pubDate>Tue, 26 Jan 2021 01:12:53 +0800</pubDate><description><![CDATA[因为使用zk或者nacos天然就支持数据同步，所以我比较感兴趣的是怎么用websocket进行数据同步

找了好久终于发现是这样搞的



首先配置好port，这里我们配置两个，一个是9094,一个是9095。先启动一个，然后再启动另一个。



如果要启动多个记得要按下图勾选，allow parallel run。然后就可以同时启动两个啦。



接下来是启动bootstrap,如图配置两个websocket的地址。



其实在WebsocketSyncDataService这个方法里面有这样一段代码.]]></description><category></category></item><item><title><![CDATA[soul源码阅读 soul数据同步之nacos]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/113051292</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/113051292</guid><author>a511310132</author><pubDate>Sun, 24 Jan 2021 01:08:50 +0800</pubDate><description><![CDATA[nacos的安装在官网明确写的很清楚，这里就不再赘述了。管理页面地址是http://localhost:8848/nacos记得登录用户名密码是nacos/nacos;



启动nacos同步


图1


图2



然后就死活搞不定，通过研究代码发现这里如果改为namespace的话就可以注册成功。我的nacos是拉取的master代码然后自己编译的，所以可以看看nacos的代码


图3

记得这里要配置和图1一样的namespace，这样就可以调通了。这里应该是验证的key？






...]]></description><category></category></item><item><title><![CDATA[soul源码阅读 soul数据同步之http长轮询]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/113021436</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/113021436</guid><author>a511310132</author><pubDate>Sat, 23 Jan 2021 06:53:18 +0800</pubDate><description><![CDATA[启动项目

修改两个配置文件，配置成htpp长轮询。不清楚的话可以先看我的第一篇



启动的时候得注意，先得启动soul-admin,然后再启动soul-bootstrap,要不然会报服务找不到。

源码分析

HttpLongPollingDataChangedListener这个类看名字就在知道是http长轮询数据改变的监听器，查看该类的uml图发现如图3所示。


图3

在调试过程中发现每隔一分钟就会调用HttpLongPollingDataChangedListener.compareChan.]]></description><category></category></item><item><title><![CDATA[soul_admin之使用zookeeper数据同步]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/112976199</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/112976199</guid><author>a511310132</author><pubDate>Fri, 22 Jan 2021 02:09:51 +0800</pubDate><description><![CDATA[soul-admin修改成zookeeper的数据同步方式

参考的是项目文档https://dromara.org/zh-cn/docs/soul/user-dataSync.html

记得先启动zookeeper，我是使用docker启动的，端口是2181。

1.在soul-bootstrap的pom.xml引入依赖


&lt;!--soul data sync start use zookeeper--&gt;
     &lt;dependency&gt;
          &lt;grou]]></description><category></category></item><item><title><![CDATA[soul源码阅读 soul数据同步之websocket同步]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/112915398</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/112915398</guid><author>a511310132</author><pubDate>Thu, 21 Jan 2021 07:52:07 +0800</pubDate><description><![CDATA[websocket 同步

在soul-admin的application.yml文件的配置中，可以选择使用zookeeper，websocket，http长轮询三种策略做数据同步


server:
  port: 9095
  address: 0.0.0.0

soul:
  database:
    dialect: mysql
    init_script: "META-INF/schema.sql"
  sync:
    websocket:
      enabled: true

so]]></description><category></category></item><item><title><![CDATA[soul_springcloud]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/112856847</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/112856847</guid><author>a511310132</author><pubDate>Wed, 20 Jan 2021 07:58:48 +0800</pubDate><description><![CDATA[1.访问admin，进入「系统管理 -&gt; 插件管理」，设置 springCloud 插件为开启



2.添加nacos依赖，打开nacos，发现当前无服务注册进来


&lt;dependency&gt;
       &lt;groupId&gt;com.alibaba.cloud&lt;/groupId&gt;
       &lt;artifactId&gt;spring-cloud-starter-alibaba-nacos-discovery&lt;/artifactId&gt;
    ]]></description><category></category></item><item><title><![CDATA[soul_sofa]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/112798427</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/112798427</guid><author>a511310132</author><pubDate>Tue, 19 Jan 2021 06:42:30 +0800</pubDate><description><![CDATA[今天研究soul_sofa相关插件

运行启动

启动TestSofaApplication后怎么都没有办法调通接口，后来上了官网看了一下文档，发现得在boostratp模块下的pom.xml文件添加以上的依赖，然后重启一下bootstrap就可以了！


        &lt;dependency&gt;
            &lt;groupId&gt;com.alipay.sofa&lt;/groupId&gt;
            &lt;artifactId&gt;sofa-rpc-al]]></description><category></category></item><item><title><![CDATA[soul_dubbo]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/112727809</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/112727809</guid><author>a511310132</author><pubDate>Sun, 17 Jan 2021 07:22:01 +0800</pubDate><description><![CDATA[首先启动soul-bootstarp 和 soul-admin，zookeeper；

zookeeper我使用的是docker

命令如下：


docker pull zookeeper

docker run --name zk -p 2181:2181 -p 2888:2888 -p 3888:3888 --restart always -d zookeeper

启动zookeeper后就可以启动TestAlibabaDubboApplication，如果没有zookeeper就会报异常提示zo.]]></description><category></category></item><item><title><![CDATA[soul_example_http]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/112691248</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/112691248</guid><author>a511310132</author><pubDate>Sat, 16 Jan 2021 04:04:26 +0800</pubDate><description><![CDATA[任务

运行examples下面的 http服务
	结合divde插件，发起http请求soul网关，体验http代理
	其实前一篇文章已经写了通过soul转发成功了，所以探讨一下soul的接口注册流程。
数据库设计

soul的数据库设计图1所示，该图为官网的图


图1

然后我们分别查询了 selector,selector_condition,rule,rule_condition表，如图2所示。可以看得到不同的selector和其数据。规则就是


	一个插件对应多个选择器，一个选择器对应多...]]></description><category></category></item><item><title><![CDATA[soul源码阅读 启动soul应用]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/112606722</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/112606722</guid><author>a511310132</author><pubDate>Fri, 15 Jan 2021 01:15:10 +0800</pubDate><description><![CDATA[soul的官方文档地址：https://dromara.org/zh-cn/docs/soul/soul.html
素质三连，watch，start，fork之后clone到本地，进行install编译，中间遇到的很坑的小问题，就是soul-example的maven文件无法识别，其实只有选中pom.xml然后右键，选择add as maven project就可以解决了。然后mvn clean install 编译整个maven项目即可。



后台管理模块在soul-admin包下，记得修改你的数据库.]]></description><category></category></item><item><title><![CDATA[美女图爬虫小试]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/78532455</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/78532455</guid><author>a511310132</author><pubDate>Tue, 14 Nov 2017 16:59:43 +0800</pubDate><description><![CDATA[import errno
from pyquery import PyQuery as pq
from lxml import etree
from urllib import request, parse
import re
import os
class meizi:
    def __init__(self):
        self.urls = []
        self.head]]></description><category></category></item><item><title><![CDATA[Centos7修改hostname]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/76142534</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/76142534</guid><author>a511310132</author><pubDate>Wed, 26 Jul 2017 13:22:56 +0800</pubDate><description><![CDATA[把hostname修改为calu 
hostnamectl set-hostname calu要想局域网别的主机可以通过calu而不是192.168.1.1之类的IP地址访问主机 
则应该 
vi /etc/hosts 
然后在末尾添加192.168.1.7     calu01想要通过hostname直接互联则所有局域网内地的主机都必须加上]]></description><category></category></item><item><title><![CDATA[hbase中出现的java.net.BindException-Problem binding to 111.175.221.58 60020]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/76142528</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/76142528</guid><author>a511310132</author><pubDate>Wed, 26 Jul 2017 13:21:49 +0800</pubDate><description><![CDATA[2017-07-24 16:45:17,174 DEBUG [main] regionserver.HRegionServer: regionserver//111.175.221.58:60020 HConnection server-to-server retries=350
2017-07-24 16:45:17,522 INFO  [main] ipc.SimpleRpcScheduler:]]></description><category></category></item><item><title><![CDATA[nutch2.3 hadoop2.6.0 hbase0.98.8 分布式爬虫NoClassDefFoundError HBaseConfigurati]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/76142504</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/76142504</guid><author>a511310132</author><pubDate>Wed, 26 Jul 2017 13:21:03 +0800</pubDate><description><![CDATA[nutch2.3 hadoop2.6.0 hbase0.98.8  
分布式爬虫NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguratiException in thread "main" Java.lang.NoClassDefFoundError: org/apache/Hadoop/Hbase/HBaseConfigurati]]></description><category></category></item><item><title><![CDATA[hadoop,hbase集群一些问题]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/76142340</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/76142340</guid><author>a511310132</author><pubDate>Wed, 26 Jul 2017 13:19:24 +0800</pubDate><description><![CDATA[Operation category READ is not supported in state standby解决 
hdfs写的那台机器是待机状态的，所以不支持，要在active 机器中写才行。 
hdfs haadmin -transitionToActive –forcemanual nn1  
再次访问就变一active，一个standyHMaster自动关闭 
—-问题解决思路：j]]></description><category></category></item><item><title><![CDATA[zookeper安装问题]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/76142324</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/76142324</guid><author>a511310132</author><pubDate>Wed, 26 Jul 2017 13:18:32 +0800</pubDate><description><![CDATA[启动zookeeper后日志显示找不到路由 
日志在bin文件夹下的zookeeper.out里 
解决方法： 
关闭防火墙：systemctl stop firewalld.servicesystemctl disable firewalld.service查看状态：firewall-cmd --state不同版本linux关闭防火墙Ubuntu（ubuntu-12.04-desktop-amd6]]></description><category></category></item><item><title><![CDATA[hadoop内存不足]]></title><link>https://blog.youkuaiyun.com/a511310132/article/details/76142310</link><guid>https://blog.youkuaiyun.com/a511310132/article/details/76142310</guid><author>a511310132</author><pubDate>Wed, 26 Jul 2017 13:17:08 +0800</pubDate><description><![CDATA[问题 
Container killed on request. Exit code is 143然后提示memory 2.7g in 2.1g used  
这里是表示内存不够，所以修改hadoop/etc/hadoop/mapred.site<property>
    <name>mapreduce.map.memory.mb</name>
    <value>4096</value>]]></description><category></category></item></channel></rss>