- 博客(32)
- 资源 (13)
- 收藏
- 关注
转载 jwt对spring cloud进行系统认证和服务鉴权
什么是jwt(json web token)jwt是一生中用来在网络上声明某种身份的令牌(TOKEN),它的特点是紧凑且自包含并且基于JSON,通过一些常用的算法对包含的主体令牌进行加密,安全性高。它通常有三个部分组成:头令牌(Header)、消息体(Payload)、签名(Signature).Header通常用来声明令牌的类型和使用的算法,Payload主要用来包含用户的一些令牌,Sign...
2018-10-30 11:56:37 1734 1
转载 sso oauth
oauth与sso的区别1、sso是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。sso通常处理的是一个公司的不同应用间的访问登录问题。如企业应用有很多业务子系统,只需登录一个系统,就可以实现不同子系统间的跳转,而避免登录操作。2、oauth是为解决不同公司的不同产品实现登陆的一种简便授权方案。虽然可以使用OAuth实现sso,但并不建议这么做。...
2018-10-30 11:29:27 164
转载 理解OAuth 2.0
名词定义1、Third-party application第三方应用程序2、Http serviceHttp服务提供商3、resource owner资源所有者,一般即用户4、user agent用户代理,一般就是浏览器。5、authorization server认证服务器,即服务提供商专门用来处理认证的服务器6、resource server资源...
2018-10-30 11:02:12 179
转载 主流负载均衡器比较
lvsIP负载均衡服务是工作在网络层(修改IP)和传输层(修改端口,第四层),比起工作在应用层(第七层)性能要高出非常多。常见的负载方式是LVS和IPVS(IP Virtual Server)LVS (Linux Virtual Server),它是一种集群技术。1、组成部分(1)Load balancer/Director(负载调度器),它是整个集群对外面的前端机,负责将客户...
2018-10-30 10:09:06 401
转载 spring cloud 断路器监控-Hystrix Dashboard
Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图表化界面。修改service-hi1、在pom工程文件引入相应的依赖<dependencies> <dependency> <groupId>org.springframework.cloud</groupId>...
2018-10-30 09:03:48 297
转载 spring cloud 服务链路追踪
简介Spring cloud Sleuth主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持zipkin,你只需要在pom文件中引入相应的依赖即可。1、span基本工作单元,span在不断的启动和停止,同时记录了时间信息,当你创建一相span,你必须在未来的某个时刻停止它。2、trace一系列span组成的一个树状结构。3、annotation用来及时记录一个事件...
2018-10-29 16:58:34 203
转载 spring cloud 分布式配置中心
简介在spring cloud中,有分布式配置中心组件spring cloud config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程git仓库中,在该组件中,分两个角色,一是config server, 二是config client。实践1、构建config server(1)在原有工程上,创建一个spring-boot项目,取名为config-server...
2018-10-29 16:04:25 186
转载 springcloud 路由网关 - zuul
spring cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、ngnix),再到达服务网关(zuul集群),然后再到具体的服务。服务统一注册到高可用的服务注册中心集群,服务的所有配置文件由配置服务管理,配置服务的配置文件放在git仓库,方便开发人员随时改变配置。简介zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分。zuul有以...
2018-10-29 15:19:32 303
转载 灰度发布-蓝绿、金丝雀、ABTesting
蓝绿主要思路是在新版本在另一套独立的资源上上线,新版本起来后将所有流量从老版本切换到新版本上来。当新版本工作正常,则删除老版本,当新版本工作有问题,则快速能切回到老版本。因此蓝绿发布看上是一种热部署的方式,目的是减少发布过程中的服务停止时间。可以看到因为两个版本都是可用,其升级切换和回退速度非常快。为了达到这种快速切换付出的代价是搞冗余的资源,即2倍的原有资源,分别部署新老版本。此外一个问...
2018-10-29 14:52:51 531
转载 springcloud-hystrix
为了保证高可用性,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导制服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后里,这就是服务故障的“雪崩”效应。HystrixNetflix开源了Hystrix组件,实现...
2018-10-29 14:02:48 189
转载 springcloud 服务消费者 - Feign
简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign只需要创建一个接口并添加注解,可以使用Feign注解和JAX-RS注解。Feign默认集成了Ribbon,并和Eureka结合。实践1、启动eureka-server,端口为8761.启动service-hi两次,端口分别为8762、8763.2、创建一个feign的服务。(1)新建一...
2018-10-29 13:36:52 159
转载 SpringCloud 服务消费者-rest+ribbon
spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign.ribbonribbon是一个负载均衡客户端,Feign默认集成了ribbon。ribbon已经默认实现了如下配置bean:(1) IClientConfig ribbonClientConfig: DefaultClientConfigImpl(2)IRule ribbo...
2018-10-29 13:14:43 151
转载 SpringCloud Eureka
springcloud eureka server 官方文档springcloud eureka client 官方文档springcloud中的region和zone1、背景用户量比较大或者用户地理位置分布范围很广的项目,一般都会有多个机房。这个时候如果上线springcloud服务,我们希望一个机房内的服务优先调用同一个机房的服务,当同一个机房的服务不可用的时候,再去调用其它机...
2018-10-29 10:05:32 243
转载 Android - Butterknife
概述ButterKnife是一个专专注于Android系统的View注入框架,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class.ButterKnife的注册与绑定1、在Activity中绑定ButterKnife由于每次都要在Activity中的onCreate绑定Activity,所以个人建...
2018-10-23 09:12:47 261
转载 android:text和tools:text
安卓开发中,在写布局代码xml的时候,如果想看到运行之后才能看到的布局效果,但又不想动不动就把应用跑起来,就可以用到tools这个命名空间了。tools命名空间比较特别,该命名空间可以覆盖组件的任何属性,以便在ide预览中进行不同的展示,。<TextView android:id="@+id/text_main" android:layout_width="match_pare...
2018-10-22 16:16:45 2299
转载 android-自定义控件
我们所用的所有控件都是直接或间接继承自View,View是android最基本的一种UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件。自定义控件两种方式1、继承ViewGroup例如:ViewGroup , LinearLayout, FrameLayout, RelativeLayout等。2、继承View例如:View, TextView, ImageV...
2018-10-22 14:37:04 255
转载 android - Fragment
现在主流的App中,基本的架构也都是一个主页,然后每个Tab项用Fragment做布局,不同选项做切换,使用起来也方便。Google推荐用Fragment来代替Activity。Fragment为何要用Fragment是Android 3.0被引用的,主要目的是为了给大屏幕(如平板电脑)上更加动态和灵活的UI设计提供支持。通过将Activity布局分成片段,可以在运行时修改Activity...
2018-10-22 13:44:37 175
转载 android-layout_centerHorizontal layout_gravity gravity的区别
layout_centerHorizontal是相对于RelativeLayout的布局属性,如果设置为true,就将该控件设置在相对于父控件水平居中的位置。layout_gravity针对LineraLyout的一种控件对齐方式,可以把值设置成下列值:center_vertical center_horizontal center等待。gravity控制控件内文件字的对齐...
2018-10-19 10:53:17 229
转载 genymotion-arm-translation.zip无法安装问题
查看是否是中文路径问题当genymotion-arm-translation.zip在中文目录下时,会出现拖拽无法安装的情况。 genymotion-arm-translation.zip下载路径
2018-10-18 16:31:15 1586 3
转载 Base64算法
概念Base54算法使用了单表置换算法的思想,Base64使用一个由64个字符组成的映射表。实现原理1、将给定的字符串转换成对应的字符编码(如GBK、UTF-8)2、将该字符编码转换成二进制码3、对获得的二进行码进行分组操作(1)每3个字节(8位二进制)为一组,一共24个二进制位。(2)将这个24个进制位分成4组,每个组有6个二进制位,不足6位的,后面补0.(2的6次方...
2018-10-18 11:14:19 414
转载 android startActivityForResult与startActivity的不同之处
startActivity仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivitystartActivityForResult可以一次性完成这项任务,假若从T1Activity跳转到下一个T2Activity,而当这个T2Activity调用了finish方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivity...
2018-10-18 10:21:35 299
转载 Android-SharedPreferences
简称Sp,是一种轻量级的数据存储方式,采用key/value的方式进行映射,最终会在手机的/data/data/package_name/shared_prefs/目录下以xml的格式存在。Sp通常用于记录一些参数配置、行为标记等。但是不要使用Sp去存储大的数据和文件,否则会大大影响应用性能,甚至出现ANR(Application Not Response)。获取Sp的方式1、调用Cont...
2018-10-18 09:05:42 154
转载 设计模式-Builder模式
建造者模式(Builder pattern)通过将一个复杂对象的构建过程与它的表现分离,使得构建的过程可以自由扩展,降低部件与组装过程的耦合,是创建型模式。考虑这样一个场景,假如有一个类(User),里面有很多属性,并且你希望这些类的属性都是不可变的(final),就像下面的代码。public class User { private final String firstNam...
2018-10-17 15:59:15 158
转载 android OkHttp3
请求/响应流程序分析1、详解创建OkHttpClientOkHttpClient mOkHttpClient = new OkHttpClient();其主要调用public OkHttpClient() { this(new Builder()); }这里通过静态内部类Builder实现OkHttpClient的构建public Builder() {...
2018-10-17 13:46:49 1055
转载 android HttpURLConnection
在android 6.0(api 23)sdk之后,HttpClient不再提供,所以android原生的网络请求为HttpURLConnection。介绍HttpClient与HttpURLConnection的比较1、HttpClient是apache的开源框架,封装了访问http的请求头、参数、内容体、响应等待,使用起来比较方便,而HttpURLConnection是java的标...
2018-10-17 11:16:10 283
转载 Android View
View是Android中所有控件的基类,ViewGroup也继承了View,这就意味着View可以是单个控件,也可以是多个控件组成的一组控件。View的位置参数View的位置由它的四个顶点来决定,分别对应View的四个属性:top、bottom、left、right。top是左上角纵坐标,bottom是右下角纵坐标,left是左上角横坐标,right是右下角横坐标。根据上图我们可...
2018-10-11 17:31:06 198
转载 android intent
Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述。Android则根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent属性的设置1、Action,也就是要执行的动作常量 目标组件 动作 ACTION_CALL activity Initiate a phone call ACTI...
2018-10-11 11:09:22 195
转载 AppCompatActivity与toolbar的结合
一、首先我们必须在配置文件中,写入Toolbar<android.support.v7.widget.Toolbar android:id="@+id/activity_main_toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" androi...
2018-10-11 10:00:31 291
转载 Android Bundle
A mapping from String values to various Parcelable types.为什么是Bundle而不是HashMap1、Bundel内部是由ArrayMap实现的,ArrayMap的内部实现是两个数组,一个int数组是存储对象数据对应下标,一个对象数组保存key和value,内部使用二分法对key进行排序,所以在添加、删除、查找数据的时候,都会使用二...
2018-10-11 08:58:00 264
转载 Android Manifest.xml
一、概述Manifest.xml是每个android程序中必须的文件,它位于整个项目的根目录。里面配置了程序运行所必要的组件、权限,以及一些相关信息。二、结构图<?xmlversion="1.0"encoding="utf-8"?><manifest> <uses-sdk/> <uses-configuration/&...
2018-10-10 11:48:43 349
转载 Android的六大布局
Linear Layout(线性布局)、Frame Layout(帧布局)、Relative Layout(相对布局)、Absolute Layout(绝对布局)、Table Layout(表格布局)、Absolute Layout(绝对布局)。一、Linear Layout这个布局会将它所包含的控件在线生方向上依次排列,我们可以通过android:orientation这个属性指定排列方...
2018-10-09 14:04:18 222
转载 使用IntelliJ Idea开发android
之前我已经装好了jdk,sdk,idea,genymotion模拟器。1.将模拟器Genymotion和IntelliJ Idea相关联。https://www.genymotion.com/plugins/(1)从这里下载插件,然后打开Idea,选择File->Settings,出现如下界面,并选择Plugins.(2)选择“Install plugin from disk...
2018-10-08 14:43:14 1438
log4jappender配置kafka使用的jar包
2017-09-08
sharpglvs10和12的可用扩展及opengl、sharpgl例程
2014-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人