首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

实战etcd的服务发现

在云原生的时代,服务发现已经是必不可少的功能,我借着最近迁移 gRPC 服务的机会尝试了一下如何用 etcd 实现服务发现,期间遇到诸多问题,本文逐一记之。...按上面例子的意思,填 etcd 服务器的地址似乎就可以,不过实际情况中,一般会有多台 etcd 服务器,还牵扯到用户名密码,虽然我们可以构造一个复杂的 DSN 字符串全写到 Authority 里,但是那样的话显得太臃肿了...了解了基础知识之后,在编码前让我们在头脑里过一遍 gRPC 的服务流程: 服务端启动,在 etcd 里通过租约注册键为「/foo/:」并且值为「:」的数据,同时定期发送心跳包...,在 etcd 中查询前缀是「/foo/」的数据,就是目前可用的节点。...etcd 下面可以粘代码了,我主要是参考 gRPC 内置的 dns_resolver.go 来实现的。

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通过nginx配置文件抵御攻击,防御CC攻击的经典思路!

    .* " } 让我们看下这几行的意思,当cookie中say为空时,给一个设置cookie say为hbnl的302重定向包,如果访问者能够在第二个包中携带上cookie值,那么就能正常访问网站了,如果不能的话...你也可以测试一下,用CC攻击器或者webbench或者直接curl发包做测试,他们都活在了302世界中。 当然,这么简单就能防住了?当然没有那么简单。...于是攻击者便无法通过设置一样的cookie(比如CC攻击器)来绕过这种限制。你可以继续用CC攻击器来测试下,你会发现CC攻击器打出的流量已经全部进入302世界中。..... "://" .. ngx.var.host .. ngx.var.uri) end '; 通过这样的配置,攻击者便无法事先计算这个cookie中的say值,于是攻击流量(代理型CC和低级发包型...CC)便在302地狱无法自拔了。

    3K10

    Web黑盒渗透思路之猜想

    文件名:cmd.script 解释:扫描过程中 每个参数都会添加 例如: | curl http://xx.cc/ 然后发送请求 i_url 变量是当前扫描的YRL var targetUrl = new...j)); // 设置我们的有效载荷的输入值 scheme.setInputValue(i, unescape('curl http://xx.cc/...设置我们的有效载荷的输入值 scheme.setInputValue(i, unescape(' | curl http://xx.cc/...等方法 其他方法都还可以 但是我个人觉得扫全网 似乎就是开着坦克打飞机。至于为什么这样说 我得解释一下: 我们就拿zmap来说吧 扫描速度很好 非常强大,但是往往越强大的工具就越有缺点。...列如 尝试 添加管理员 抓包 记录 URL 以及参数 等。。。在未登录的情况下进行添加。 总结:渗透的思路中,不仅仅靠技术 靠经验 最重要的是脑子去往其他地方思考、以上我写的我只是打个比喻。

    1.2K50

    闭包还可以这样写?谈谈少儿编程工具的实现思路

    类似这样的程序我们从学程序开始写过很多。   再仔细看看,这种“语言”似乎有点像我们学过的其他语言,但似乎并没见过,语法有那么一点点古怪?! ?   哦!看到了,原来是一段Python!   ...而我们当然也可以再来考虑更一般的Scheme程序设计,利用算子中的闭包传递,我们一样可以设计出好的内部DSL。   ...))这样的程序无法正常工作,因为display打印之后并没有产生别的影响,repeat自然无从知道display的动作,从而无法把它的动作复制。   ...var_list,虽然两者不是与变量直接关联,但也似乎只需要保证把var_list直接返回,以确保run以及别的闭包调用的正确即可。...当年日本围棋,超一流棋手的摇篮木谷道场,老师对于学生不按老师的想法行棋都是要惩罚的,然而六大超一流棋手风格各异,并没有按照老师的手段来行棋。换句话说,教育中,传承是根,但挖掘潜力才更为重要。

    61610

    安卓应用安全指南 4.7 使用可浏览的意图

    4.7 使用可浏览的意图 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0...可以假设的是,它们滥用应用功能,通过准备一个恶意网站,它的链接的 URL 具有不正确的参数,或者它们通过欺骗智能手机用户安装恶意软件,它包含相同的 URI 模式,来获取包含在 URL 中的信息。...”时,需要遵循以下规则: 4.7.2.1 (网页端)敏感信息不得包含在相应链接的参数中(必需) 当点击浏览器中的链接时,会发出一个意图,该意图的数据中有 URL 值(可以通过Intent#getData...如上所述,需要避免直接在 URL 参数中包含敏感信息,因为它用于创建一般网页链接,所有包含在网页链接 URL 中的参数都可以提供给恶意软件。...用户 ID 和密码包含在 URL 中的例子: insecure://sample/login?

    54510

    深度学习框架量化感知训练的思考及OneFlow的一种解决方案

    这篇文章我会以Pytorch的两代量化方案开始切入谈一谈他们的好处和坏处,然后我会讲讲我在吸收了Pytorch的部分优秀成果(FX模块)并加上一些自己的想法后把OneFlow的量化感知训练方案做成了什么样子...所以我认为这项工作是有趣并且相对简洁的,当然我更希望听到用户的想法,然后就写了这篇文章来分享这个项目。这个项目的所有代码均开源在了OneFlow社区,下面是对应的链接。...和call_function以及math库中的函数和常见的魔法函数都包装一遍来记录OneFlow中所有的运算符,这个在import oneflow.fx时就做好了。...然而FX也存在缺陷,目前无法处理控制流,需要注意网络中不要带控制流(不过这一点暂时影响不大,因为用户一般都不会部署含有控制流的网络,如果有这个需求我们可以交流)。 0x3....按照这个公式就可以实现Conv+BN融合后的量化感知训练组件,在实现中对训练和推理的处理有些不一样的地方,我在代码中标注出来了。

    1K30

    Android Studio advanced configuration

    但是,最近发生了一件悲剧的事情-我丢失了我的设置文件(幸灾乐祸点个赞~)。 我的建议:即时的备份你的设置文件到云盘等地方。...显示行号 当我首次启动我的 Android Studio 的时候,我想做的第一件事就是希望能看到文件中的行号,我一直很奇怪这个基本的配置为毛不是默认开启的?!...在 Android Studio 中,我们可以通过 Alt + Enter 和 Control + Alt + O 进行导包和清除无用导包,但我们都生活在2016年了,这些事情应当快速自动完成。...attributes) Log级别 颜色 Assert: #AA66CC Debug: #33B5E5 Error: #FF4444 Info: #99CC00 Verbose: #FFFFFF Warning...表示这个模板用于java代码 点击右侧的 Edit variables 选择 Expression 下拉框中的 className 并勾选 Skip if… 这个操作的作用是,AS会自动将我们在上一步中用

    1K20

    NUS CS1101S:SICP JavaScript 描述:前言、序言和致谢

    前言 原文:Foreword 译者:飞龙 协议:CC BY-NC-SA 4.0 我有幸在我还是学生的时候见到了了不起的 Alan Perlis,并和他交谈了几次。...在我 1998 年的演讲“语言的成长”中,我评论说,一个优秀的程序员“不仅仅是编写程序。一个优秀的程序员建立了一个工作词汇。”...任何规模超过几行的 Lisp 程序都无法在没有自由功能的情况下编写。发明和适应;发作和重新发明!我们向在括号的巢穴中书写他的思想的 Lisp 程序员干杯。 —Alan J....MIT Press 网页包括 JavaScript 包sicp,其中提供了书中被认为是“原始”的所有 JavaScript 函数。...我们应该感谢他们,因为他们让我们明白,计算提供了一种表达的手段,可以用来探索那些否则太复杂以至无法精确处理的想法。他们强调,学生编写和修改程序的能力提供了一个强大的媒介,其中探索成为一种自然的活动。

    19810

    SSH框架之旅-spring(1)

    3.搭建 Spring 框架 3.1 准备 Spring 的相关 jar 包 在 Spring 框架的官网上,下载按钮并不是在显眼的位置,这里提供一个 Spring 各个版本 下载地址,我下载的是 4.3.9...解压后,docs 文件夹是 Spring 的 API 文档和开发规范,libs 文件夹 是 Spring 的 jar 包和源码,scheme 文件夹 是 Spring 的约束文件。...和 Struts2、Hibernate 框架中的配置文件的约束文件类型不同,前两者是 dtd 约束,而后者是 scheme 约束。...注意在实体类中要有无参数的构造函数,否则 Spring 无法创建实体类对象,出现异常。如果在实体类中有有参数的构造函数,要手动补上无参数的构造方法,来方便 Spring 的调用。...name 属性值为 service 类中的属性名称,ref 属性值为dao中配置中 id 属性值,这里就不能写 value 属性了,因为是一个对象,无法属性注入。

    55830

    使用 CVE-2021-43893 在域控制器上删除文件

    易受攻击的产品可以合理地部署在具有无约束委派的系统上,这意味着我可以使用 CVE-2021-43893 作为低权限远程用户远程植入文件,将我的 LPE 变成 RCE。...自2021 年 7 月包含在PetitPotam中efsrpc以来,就已知对命名管道发起的中继攻击。尽管尝试了多次补丁,但问题似乎仍然存在。...尽管该漏洞已包含在 CISA 的“已知已利用漏洞目录”中,但他们也没有更新他们的公告,表明该漏洞已被广泛利用。...Forshaw 在他的原始文章中也提到,我证实,这种攻击会在受害服务器上生成攻击用户的漫游配置文件。如果 Active Directory 环境同步漫游目录,这可能是一个非常有趣的文件上传向量。...最后的想法和补救措施 最初是对使用未修补的远程文件写入漏洞的调查,最终成为 EFSRPC 补丁的历史教训。我最初想使用的远程文件写入漏洞已被修补,但我们证明强制身份验证问题尚未得到充分修复。

    1.5K30

    CVE-2022-21907 漏洞分析

    技术分析 更新:似乎在https://piffd0s.medium.com/patch-diffing-cve-2022-21907-b739f4108eee对此漏洞进行了一些初步补丁分析,这似乎表明修补的功能是...我能找到的最好的文章是在https://isc.sans.edu/diary/28234但是请注意,调查仍在进行中,事情可能会随着时间而改变。...由于这是一个内核级别的漏洞并且它被远程利用,我想现在是提醒人们 Windows 内核中的 RCE 错误变得越来越难以利用的好时机。...描述: 注意:经过几个小时的测试和实验,我发现没有漏洞,这只是微软的一个荒谬的实验。当我决定在这些 Windows 平台上安装 IIS 包时,一切正常,并且所有东西都打了补丁!...在那几天,我在这个想法的作者 Axel Souchet 0vercl0k 的帮助和合作下再次进行了这项工作。

    1.5K20

    Android 组件化 —— 路由设计最佳实践

    如何实现路由的安全调用 如何避开Apt不能汇总所有Module路由的问题 前言 当前Android的路由库实在太多了,刚开始的时候想为什么要用路由表的库,用Android原生的Scheme码不就好了,...这里我讲一下我的理解 显示Intent:项目庞大以后,类依赖耦合太大,不适合组件化拆分 隐式Intent:协作困难,调用时候不知道调什么参数 每个注册了Scheme的Activity都可以直接打开,有安全风险...AndroidMainfest集中式管理比较臃肿 无法动态修改路由,如果页面出错,无法动态降级 无法动态拦截跳转,譬如未登录的情况下,打开登录页面,登录成功后接着打开刚才想打开的页面 H5、Android...建议有好几款app的公司,host都一样,只有scheme不一样,这样只要替换Scheme就能实现降级,维护也简单。...首先将请求转换成责任链模式RealCallChain,RealCallChain的call方法实际不会执行路由跳转,只有Interceptor里面调用了call.proceed或者call.cancel

    1.7K30

    一起学习二维码(三)二维码解码

    上一篇推送中,小白成功的安装了能够解码QR二维码的开源库zbar,并且利用测试程序检测了安装的正确性,但是由于解码二维码只是项目中的一小部分,因此在实际的项目中我们必须自己编写程序,这样才能更好的将解码的功能结合主程序中...经常在Ubuntu环境下编程的小伙伴可能都比较了解,我们首先需要写一个CMakeList.txt文件,将我们引用的OpenCV库包含在程序里。...()没有定义,秉着我遇到的问题也会有别人遇到的想法,开始了漫长的搜索之路。...问题的原因是libzbar.a没有包含在程序中。...最后一行的hello,world属于乱入,可以忽略不计 这个程序只是实现了简单的二维码读取功能,如果图片再复杂一些,还是会出现无法读取的问题,关于这些问题的解决方法,小白会在后续的更新中陆续与小伙伴们分享

    1.4K10

    The Missing Link

    很多软件包都有数十种编译时的配置参数,其中有很多参数是我们必须的,或者说,少了某些参数我们的软件也就无法实现某些功能,这不是我们愿意见到的。...这么做也是因为我们并不想野蛮的将我们版本的库装到某人的系统上,并且,我们也绝对不想安装动态库,那样做通常会引起混乱(应用程序可能会找到错误的动态库)。...所以,我们只是简单的将我们依赖的代码编译成静态库,并静态的连接到我们的可加载模块或我们的代码中而不会影响到别人。...所有这些决定跟运行效率或节约磁盘空间、节省内存等没有半毛钱关系,我的想法很简单,我就是想让我的软件能正常地运行。...如果有这样的软件存在的话,并且我们能在所有目标系统上进行测试确认没有问题的话,我们是非常愿意用这样的系统提供的库的。这么说吧,迄今为止,似乎只有一个库符合这个标准,那就是ODBC。

    1.6K40
    领券