今天遇到了很奇葩的问题,我本机的是以test环境启动的,调用另一个服务接口的时候返回参数却不同,调用接口是没错,怎么会这样,排查了很久,发现在eureka上注册的另一个服务是testone环境,而这个人testone是在k8s容器外面, 我部署的另一个服务是在k8s容器内部的.所以,造成了一直在调用k8s容器外同一个服务,实际我要调用k8s内部的这个服务. 下面是截图大概介绍下步骤: 首先,先排查   active profiles 配置启动环境为test, 并确保启动成功(启动成功后的日志显示…
一.开发前准备工作: 官方文档地址:https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.1.0.RELEASE/multi/multi_spring-cloud-eureka-server.html 不同的spring cloud版本的接口地址也是不一样的,可以通过(https://spring.io/projects/spring-cloud-netflix#learn)进行不同版本的文档选择 1.添加Eurek…
一 Spring Cloud特点 # 约定优于配置 # 开箱即用,快速启动 # 适用于各种环境,可以部署在PC server或者 云环境 # 轻量级的组件 # 组件的支持很丰富,功能齐全 # 选型中立 二 服务提供者和服务消费者 三 服务发现和注册 为什么需要服务注册与发现 # 服务重启或者升级后IP地址变化 # 水平伸缩后服务实例的变化 # 同一个节点运行多个服务 所以需要一种注册机制,帮助我们去获取响应. 核心机制: 将实例的信息注册到注册中心 调用者通过注册中心查找服务 调用者获取服务实例…
1,Eureka 自我保护机制 Eureka注册中心,一些服务会注册到Eureka 服务器上,例如之前的member服务,order服务. 在网络不通的情况下,如果一个bmember 挂了,但是Eureka注册中心并不会立即将这个服务剔除,还在注册中心上显示出来.会被认为这个服务还可用. 因此需要Eureka客户端(注册到Eureka上的服务)定时的向Eureka服务端发送心跳包,Eureka服务端没有收到心跳包,会将服务剔除. 但是,如果短时间内,但是在短时间内丢失大量的实例心跳,这时候Eur…
前言 本篇主要介绍的是SpringCloud相关知识.微服务架构以及搭建一个高可用的服务注册与发现的服务模块(Eureka). SpringCloud介绍 Spring Cloud是在Spring Boot的基础上构建的,用于简化分布式系统构建的工具集,为开发人员提供快速建立分布式系统中的一些常见的模式. 例如: 配置管理(configuration management),服务发现(service discovery),断路器(circuit breakers),智能路由( intellige…
现在的信息系统越来越复杂,越来越庞大,不仅需要内部是一个整体,而且还需要提供很多对外的服务调用. 1:别人如何调用最方便?用不同的开发语言调用.例如app.手持设备.服务器.2:服务的返回状态是什么样子的?有利于排查问题.3:服务的安全性.可过渡升级性.性能效率要有保障.4:服务也需要有完整的调用日志记录等. 下面是一个服务调用有效性判断的函数代码,供大家参考. //-----------------------------------------------------------------…
    Reinhard对这个问题研究了很久,也查了一些资料,整理了三种解决方案. 1.准备一台虚拟机A,A加入到了AD活动域,可以操作AX. PDA以远程桌面的方式,连接到虚拟机A. 在虚拟机上运行定制的客户端(窗体大小.按钮.图标.控件等),操作AX. 这样做的好处是,不用开发PDA上的客户端. 而是开发一个桌面应用,该桌面应用根据PDA的屏幕大小和操作方式做了定制. 2.使用可信中介和声明用户. 客户端机器C,可信中介机器B ,AX服务端 A. 在AX上发布增强入站端口A.1,可信用户选项…
情景是这样的.. 网页打开一个数据列表..数据要求实时从其他多个平台上获取.. 所以就有了一个Web页面..还有个WinService的服务来定时获取这些数据... 问题来了.. 发现Service有时会无故的停掉..给Web端的数据呈现造成困扰.. 又不想出现问题就跑到服务器上开启服务..想如何能够通过Web来控制这个服务的开启和关闭.. ~~~~~~~~~~~~~~~~~~~~~开整~~~~~~~~~~~~~~~~~~~~ 首先创建一个Bat批处理文件..不懂什么是批处理文件的进  http…
============================================================================ 服务的生命周期: 一.采用start的方式开始服务 生命周期如下: onStart()过时了 开启服务:onCreate()-àonStartCommand()-àonDestory(); 如果服务已经开启,不会重复的执行onCreate(),而是会调用onStartCommand(); 如果停止的时候onDestory() 服务只会被停止一次…
需求: 编写一个diff工具,用于判断两个目录下所有的改动 详细介绍: 有A和B两个目录,目录所在位置及层级均不确定 需要以B为基准找出两个目录中所有有改动的文件(文件或内容增加.修改.删除),将有改动的文件放入第三个目录中,层级结构与原目录相同 将所有新增与更新信息记录到更新日志文件中 将删除信息单独记录到删除日志文件中 每次执行diff工具需要生成一个新的以日期命名的目录存放文件 使用场景: 本工具用于软件版本升级时找出两个版本间所有修改过的文件,便于增量替换. 提示:    使用CRC判断…
当当网近日开源了Dubbox项目,可为Dubbo服务框架提供多项扩展功能,包括REST风格远程调用.Kryo/FST序列化等等. 当当网架构部和技术委员会架构师沈理向InfoQ中文站介绍了Dubbox项目,开发背景和主要特点描述如下: Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架.作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即Dubbo eXtensi…
调用Android自带日历功能  觉得这篇文章不错,转载过来. 转载:http://blog.csdn.net/djy1992/article/details/9948393 Android手机配备有一个内置的日历应用程序.第三方应用程序可以利用日历内容提供商接口读取用户的日历信息和安排在日历新的事件.这个日历可以直接同步用户的谷歌日历.  不幸的是,没有文档和Android手机的日历应用集成,因为有另外一个联系人应用程序.相反,本文所提供的所有信息,将会通过逆向工程的谷歌日历内容提供商.该接口…
转自:http://www.2cto.com/os/201202/121249.html 在linux系统启动的时候,我们可以看到很多服务性程序一个接一个的被启动(就是那些后面有一个兰色[OK]的行),这些在后台运行的程序为我们使用计算机起了很重要的作用,以这种方式运行的程序有以下特点:开机启动,关机停止(废话!关机了还运行啊???)后台运行通过service 命令控制或查看对应的程序的运行状态    恩,不错,那怎么把我们自己编制的程序做成这样的一个服务呢?     废话少说,主要分以下3步:…
如果现在的项目使用的是ActiveReports for .NET 3.0,那么有两种升级方式: 一是使用ActiveReports 6.0附带的转换工具(参见下面"升级ActiveReports for .NET 1.0 或2.0项目"): 二是在Visual Studio中打开工程,用新版本的DLL替换掉旧版本的DLL引用,并且修改代码的编译错误. 替换工程的DLL引用 在Visual Studio中打开需要升级的报表工程. 在解决方案资源管理器中,点击"显示所有文件&q…
不要在 firefox 本身的addons 中去查找, 搜索, 那个是搜索不到的, 因为那个是针对 最新版的, 旧版本的很多插件都不能用, 被移除了, 要在 那个专门 提供 插件的站点中去寻找扩展 https://addons.mozilla.org/en-US/firefox/ ======================================= 函数名func和 函数名加括号func()的区别? func没有括号, 只是表示的是 函数的字面值, 即定义函数的字符串. 比如: onc…
首先简单解释一下什么是声明式实现? 要做一件事, 需要知道三个要素,where, what, how.即在哪里( where)用什么办法(how)做什么(what).什么时候做(when)我们纳入how的范畴. 1)编程式实现: 每一个要素(where,what,how)都需要用具体代码实现来表示.传统的方式一般都是编程式实现,业务开发者需要关心每一处逻辑 2)声明式实现: 只需要声明在哪里(where )做什么(what),而无需关心如何实现(how).Spring的AOP就是一种声明式实现,…
在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.Feign就是Spring Cloud提供的一种声明式REST客户端.可以通过Feign访问调用远端微服务提供的REST接口.现在我们就用Feign来调用SERVICE-HELLOWORLD暴露的REST接口,以获取到“Hello World”信息.在使用Feign时,Spring Cloud集成了Ribbon和Eureka来提供HTTP客户端的负载均衡…
在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Apache的Http Client.Netty的异步HTTP Client, Spring的RestTemplate.但是,用起来最方便.最优雅的还是要属Feign了.Feign简介 Feign是一种声明式.模板化的HTTP客户端.在Spring Cloud中使用Feign, 我们可以做到使用HTTP…
本文介绍了如何在ASP.NET Web Application中将Bing搜索作为Web Service来使用,并通过HTTP的SOAP协议在ASP.NET Web Application中调用Bing搜索功能.当然,我们也可以使用XML和JSON来调用Bing搜索服务,稍后会给出一些相关的例子. 本文中我将向大家演示下面这些内容: 创建一个Web Application与Bing搜索服务进行交互 添加Bing搜索服务的引用 使用Bing SourceTypes演示在线搜索功能 Bing搜索服务…
应开发需求,自mysql5.7开始引入json列类型和相关函数.为了提高数据读写的访问效率因此把数据库从mysql 5.6版升级到最新发行版 mysql 8.0.11 . 特此记录下多版本升级共存的过程! 升级前准备工作: 1.快捷win+R 运行[sysdm.cpl]打开系统属性,删除系统环境变量 "path" 中关于之前旧版本(我这是mysql-5.6.24 )的配置信息: 2.快捷win+R 运行 [services.msc] 打开[服务],选择关闭旧版本的mysql 服务. 安…
最近开发用到了通知功能,但有几个地方老是提示deprecated,然后就找了篇文章学习了下新旧版本的不同. Notification即通知,用于在通知栏显示提示信息. 在较新的版本中(API level  > 11),Notification类中的一些方法被Android声明deprecated(弃用),其实基本上相当于全部弃用了,因为这个类本身方法就少得可怜. Android官方声明弃用,一定有它的理由,虽然我也不知道是什么.奈何本人轻度强迫症患者,人家都建议你不要用了,那就不要老是恪守着N年…
一.Eureka Server使用 官方文档地址:http://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_spring_cloud_netflix 1.1.原项目改造[方便后续开发增加父pom] 1>复制改名 2>编写一个父pom <?xml version="1.0" encoding="UTF-8"?> <project xml…
1. 回顾 通过上篇博客的讲解,我们知道硬编码提供者地址的方式有不少问题.要想解决这些问题,服务消费者需要一个强大的服务发现机制,服务消费者使用这种机制获取服务提供者的网络信息.不仅如此,即使服务提供者的信息发生变化,服务消费者也无须修改配置文件. 服务提供者.服务消费者.服务发现组件这三者之间的关系大致如下: 各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息 服务消费者可从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者的接口 各个微服…
前言 从本章节开始,正式进入SpringCloud的基础教程.从第一章<什么是SpringCloud>中我们可以知道,一个微服务框架覆盖的东西是很多的,而如何去管理这些服务或者说API接口,就显得异常重要了.所以本章节,主要介绍下SpringCloud中使用Eureka实现服务的注册与发现. 服务治理 Eureka实践 Eureka简单介绍 创建Eureka服务端 创建Eureka客户端 Eureka自我保护模式 参考资料 总结 最后 老生常谈 服务治理 服务治理是微服务架构中最为核心和基础的…
Eureka的wiki上有一句话,大意是一个服务启动后最长可能需要2分钟时间才能被其它服务感知到,但是文档并没有解释为什么会有这2分钟.其实这是由三处缓存 + 一处延迟造成的. 首先,Eureka对HTTP响应做了缓存.在Eureka的”控制器”类ApplicationResource的109行可以看到有一行 String payLoad = responseCache.get(cacheKey); 1 的调用,该代码所在的getApplication()方法的功能是响应客户端查询某个服务信息的…
在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Apache的Http Client.Netty的异步HTTP Client, Spring的RestTemplate.但是,用起来最方便.最优雅的还是要属Feign了. Feign简介Feign是一种声明式.模板化的HTTP客户端.在Spring Cloud中使用Feign, 我们可以做到使用HTTP…
自己动手写一个服务网关 原文链接:https://www.cnblogs.com/bigben0123/p/9252444.html 引言 什么是网关?为什么需要使用网关? 如图所示,在不使用网关的情况下,我们的服务是直接暴露给服务调用方.当调用方增多,势必需要添加定制化访问权限.校验等逻辑.当添加API网关后,再第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制.本文所实现的网关源码抄袭了---Oh,不对,是借鉴.借鉴了Zuul网关的源码,提炼出其核心思路,实现了一…
InfluxDB 1.2.0安装及新旧版本的注意事项 http://haibing.org/245?zwlqby=npztq3 挺好的文章 很好的解决了 上一个文档里面 关于 web admin 的问题 更多好文章见作者电子书集<Linux运维入门指南:生产运维需要掌握的技能> 随着大数据的爆发,系统数量也是直线上升,监控系统,收集系统运行状态成了保障业务正常运行中的重要一个环节. 针对这种产生频率快.带时间标签.测点多.信息量大的数据,时序数据库(Time Series Database,简…
在官网找不到旧版本的下载地址,只能取巧了. 写该随笔的时候,NDK最新的版本是r12,见 https://developer.android.com/ndk/downloads/index.html#tos-header 在FireFox打开以上的地址,将光标移动到 Package 上任意一个平台,比如Linux吧,在浏览器的左下角,就可以看到下载地址: dl.google.com/android/repository/android-ndk-r12-linux-x86_64.zip 虽然没有看…
ArcGIS REST API提供了简单.开放的接口来访问和使用ArcGIS Server发布的服务.使用ArcGIS REST API通过URL可以获取和操作每一个服务中的所有资源和操作. 1.使用步骤 1)构建请求网址 A.确定端点:每个GIS服务都有一个端点.例如,ArcGIS Server上Demographics文件夹下名为ESRI_Census_USA的一个地图服务sampleserver1.arcgisonline.com的端点为:http://sampleserver1.arcg…