自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十维之眼的博客

洞悉世界

  • 博客(26)
  • 收藏
  • 关注

转载 【转载】天机阁——全链路跟踪系统设计与实现

转载自:天机阁——全链路跟踪系统设计与实现传说中天机阁里有一台掌控世间一切的机器,万物运行由此产生。本文的“天机阁”是一个基于链路跟踪的监控系统,后台开发人员能够通过“天机阁”洞察“天机”,快速解决问题。摘要为了支撑日益增长的庞大业务量,业界大量使用微服务架构。服务按照不同的维度进行拆分,互联网应用构建在不同的软件模块集上,这些软件模块可能是由不同的团队开发、可能使用不同的编程语言来实现、可能布在了几千台服务器,横跨多个不同的数据中心,分布式系统变得日趋复杂。如何快速进行故障定位?如何准确进行容量评估?

2022-10-24 23:48:43 871 1

原创 授权设计之OAuth 2.0

介绍认证和授权,重点讲述OAuth 2.0授权的框架协议和具体实现。

2022-09-18 22:45:18 729

转载 网络通信(网络保活)

转载:微信团队原创分享,Android版微信后台保活实战分享(网络保活篇)哪些部分需要“保活”?按照我们的理解包含两部分:网络连接保活:如何保证消息接收实时性。这是本文要讨论的内容。 进程保活:尽量保证应用的进程不被Android系统回收。详见本文下篇《微信团队原创分享:Android版微信后台保活实战分享(进程保活篇)》网络连接保活概述网络保活,业界主要手段有:a. GCM; b. 公共的第三方push通道(信鸽等); c. 自身跟服务器通过轮询,或者长连接。..

2022-04-27 17:52:11 708

原创 客户端安全(TLS/SSL)

Android的安全在早期是使用openSSL库,后来(大概6.0之后)则使用boringSSL(从openSSL拉一个分支出来)。openSSL库低版本存在一些安全漏洞,所以安卓低版本也同样会有安全漏洞。APP要修复这些安全漏洞,一方面可以通过升级安卓自带的openSSL库解决,一方面可以通过第三方库解决(即自己的app引入高版本openSSL),调用第三方库的安全接口而非安卓自带的安全接口。附:https://source.android.com/security/enhancements/

2022-04-26 17:27:57 3195

原创 网络通信(路由/NAT)

一、特殊IP地址1、0.0.0.0,127.0.0.1,localhost0.0.0.0 表示默认路由/全部地址,即在路由表无法找到匹配的路由规则时候,会采用默认路由;127.0.0.1 表示本机地址localhost 实际是域名,不是IP地址,所以不一定会解析到127.0.0.1上。但是大多数系统会在hosts文件默认解析为127.0.0.12、广播地址、组播地址IP = 网络号段 + 主机号段,当主机号段均为1,即是广播地址,比如192.168.0.0,子网掩码为255.255.

2022-04-11 14:54:19 1808

原创 Ubuntu常用指令

一、远程登录putty工具二、IP 查询> ifconfig -a三、重启>reboot还有其他指令:shutdown, poweroff, init, halt (Linux 重启命令 - 信则成 - 博客园)四、打开文本文件命令行打开文本文件命令有gedit、more、cat、vim、less,比如vim使用>vim sample.txt退出::wq (保存并退出):q(退出):q!(强制退出)...

2022-04-11 11:08:35 4753

原创 网络通信(端口)

这里的端口管理主要是指Ubuntu端口状态查询和更改。一、端口状态查询1、nmap工具安装(http://www.nmap.com.cn/)通过SSH/22号端口远程访问服务器,输入账号密码,进入命令行模式:>wget https://nmap.org/dist/nmap-7.92.tar.bz2>tar -xjvf nmap-7.92.tar.bz2>cd nmap-7.92/>sudo ./configure>sudo make>sudo m

2022-04-10 22:50:15 3601

转载 【转载】微服务架构的前世今生

(转载自:哈喽沃德先生的微服务架构的前世今生 - 知乎)传统行业向互联网行业的转型背景2012年以后,因为移动互联网的兴起,随着网名数量的增多,需求变化大,用户群体大。导致已有的应用程序无法抗住大规模的并发,且版本迭代麻烦,扩展不够灵活,应对外界环境能力薄弱,所以微服务思想就应运而生了。2014年微服务的概念传入中国,2015年左右国内大厂开始进行项目升级,转战微服务。2018年中小型企业也开始进行微服务架构升级。传统行业的产品是必然要向互联网行业进行转型的,马云爸爸曾经说过

2022-02-16 15:47:58 622

原创 网络通信(网关)

前篇说到两个不同网络号的IP不能直连通信,那么才能实现彼此通信呢?这就需要网关了。在一个子网中,有很多主机,这些主机跟外面的网络通信,需要通过一个叫作网关的主机。网关的特点:1. 网关的IP跟子网同一网段(也就是说,网关也是子网的一个主机)2. 网关具备路由功能,能路由到外面网络去。一般的主机不具备特点2,所以网关设备不是随便一台主机都能充当(也就是网关IP不能随便配置,必须配置到具备路由功能的主机上)。日常见到的网关,多是家庭路由器。家庭路由器有多个网口,比如LAN口,WAN口,一个网

2022-01-09 15:19:21 6898

原创 网络通信(子网掩码)

网络通信的要点:同一个网络下可相互访问,不同一个网络下不能相互访问。IP1:192.168.10.1IP2:192.168.10.9这两个IP能否直连通信?不一定,要看子网掩码是什么。什么是子网掩码?子网掩码不过就是一种"切法",即表达网络号和主机号的分割点在哪里。IPV4的IP编码长度是8x4=32位,即11111111 11111111 11111111 11111111这32位里,前面是网络号(排除头部几位ABCDE类型定义之外),后面是主机号,那它们的分割点在哪里呢?这就

2022-01-09 11:58:41 4965

原创 SpringBoot/SpringCloud初探九(数据库)

演示采用MySQL,数据库安装见初探一(安装篇),切记先创建一个数据库,名为hello(在yml文件体现数据库名称)演示架构pom.xml引入依赖:mybatis-spring-boot-starter、mysql-connector-java、spring-boot-starter-jdbc<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0..

2021-12-27 14:18:38 1118

原创 SpringBoot/SpringCloud初探八(消息队列)

样例的消息队列采用kafka。相关软件(kafka软件和zookeeper软件)的安装见初探一(安装篇)。演示架构左侧分支是publisher启动即发布一个主题关联的消息到stream-kafka,然后subscriber(服务本身)从队列获取该主题的消息并打印出来;右侧分支是访问http://localhost:7888/request,则发布另外一个主题相关的消息到stream-kafka,然后subscriber A(另一个服务)从队列获取该主题的消息并打印出来。一、Publish

2021-12-27 12:32:57 1063

原创 SpringBoot/SpringCloud初探七(配置中心)

样例的运作方式:采用本地加载方式(模拟从git仓库加载),在本地创建一个文件夹D:\XXX\ConfigService\git_server_mock,存放一份配置文件microservice-a-dev.yml(特别注意,文件命名有讲究的,要符合命名规则,否则无效,这里样例使用“/{application}-{profile}.yml”方式)配置文件三种命名规则(application是服务名,profile是环境变量,label是分支名):/{application}/{profil.

2021-12-27 01:00:18 259

原创 SpringBoot/SpringCloud初探六(异常处理)

工作方式:调用异常触发回调方法测试方式:关闭微服务service-a,会触发Hystrix工作,回调注解指定的方法@HystrixCommand(fallbackMethod = "onHystrix"),即onHystrix(String id),注意此处的入参与@HystrixCommand注解的方法一样。如果该注解是针对整个类,则入参为空。引入spring-cloud-starter-netflix-hystrixpom.xml<?xml version="1.0" .

2021-12-26 23:44:59 203

原创 SpringBoot/SpringCloud初探五(远程调用)

远程调用常用有RestTemplate和Feign,底层均使用Ribbon实现负载均衡。简单样例,演示远程集群调用。一、RestTemplate +Ribbon访问方式:http://localhost:7903/condition/test,然后会执行以下访问:http://microservice-b/condition/self,如果microservice-b有多个节点,会按照负载均衡策略轮流访问。注意为顺利执行样例,microservice-b要实现/condition/self.

2021-12-26 22:38:42 282

原创 SpringBoot/SpringCloud初探三(注册中心)

注册中心采用Eureka,eureka-server。pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h

2021-12-24 10:49:00 167

原创 SpringBoot/SpringCloud初探四(网关)

网关探了zuul和spring cloud gateway两种:一、zuul网关访问方式:http://localhost:8790/a/xxxxxxx,即可访问a服务,具体访问集群哪个,由zuul的策略决定。pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20..

2021-12-24 10:38:05 253

原创 SpringBoot/SpringCloud初探二(反向代理)

反向代理采用Nginx,部署容器采用tomcat。一、Nginx配置upstream testserver{ server 127.0.0.1:8790 weight=1; server 127.0.0.1:8791 weight=1; }server { listen 8088; server_name localhost; #charset koi8-r; #access_log..

2021-12-24 09:06:11 882

原创 SpringBoot/SpringCloud初探一(软件安装篇)

搭建后台的软件架构,涉及到部分软件安装:一、Ngnix安装二、Tomcat安装三、Zookeeper安装四、Kafka安装五、MySQL安装

2021-12-23 16:21:03 1622

原创 客户端安全(加固)

上一篇签名说到,签名只是确保应用在传递过程不被篡改,这是一致性原则。但是,可以被剽窃啊,所以还需要一层防护:加密!这就是加固的初衷。安卓的混淆,某种意义上讲也是一种“加密”,所以在生产包上尽量要启用混淆。但是混淆毕竟不是真正意义的加密(即别人完全无法破解),混淆只是一种乱编码而已,花点时间仍然可以把逻辑破解出来。那么加密对象是谁?跟签名那样是整个应用包加密吗?当然不能,因为加密后要解密啊,整个应用包都加密了,谁来解密?操作系统吗?操作系统没有你的解密逻辑和密钥,如何解密?这点跟签名不同,签名可以由操

2021-09-11 10:14:21 831

原创 客户端安全(签名)

V1--.Manifest:摘要.SF: 签名(加签而已,未加密).RSA:指纹(指纹加密,用私钥加密;文件本身未加密,字节码是因为PKCS7格式化而已)自签发根证书,直接可用证书里的公钥验签漏洞:1、利用非校验范围为非作歹: Jenus类,双dex(加大校验范围,V2)2、篡改证书二次签名:首次安装无碍,安装后会阻止官方APP安装(方案:连服务器校验证书)3、渠道包快速生成?V2--.zip格式.class/.dexCERT.RSA 签名过程,验证过程?证书指纹 与.

2021-09-01 20:24:03 6566

原创 接口安全设计之https(攻防)

大家都明白,http传输不安全,https传输安全,所以一般认识里,只要采用https传输就是安全的。但是,果真如此吗?非也,https并非绝对安全。只是说,正常场景下,它是安全的;但是呢,用户和黑客“同流合污”时候,https就不再安全了。可能有人会说,用户怎么可以跟黑客同流合污呢?真别说,还真有,比如下面这两种场景:1、黑客冒充用户,或者说黑客本身就是用户(比如说黄牛党/羊毛党);2、用户不知情或者被骗,成为黑客的帮手(比如说不顾浏览器风险提示继续同意打开网站)。在以上这两种场景下,http

2021-08-24 22:30:13 801

原创 接口安全设计之https(协议)

Https:Hyper Text Transfer Protocol over Secure Socket Layer, i.e. Http over SSL。也就是说,http传输本身是不安全的,但是通过增加SSL层,能确保http传输安全。SSL和Http层级关系如下图:注意,SSL并不是http的私人保镖,它也可以是其他应用协议的保镖比如sip、smtp、pop、imap、mysql等。层级位置SSL:STL:通信协议一、握手协议(一)握手协..

2021-08-22 22:23:55 1566

原创 接口安全设计之https(证书)

一、证书证书在https中有着举足轻重的作用,所以先来介绍证书这个概念。(一)、CA1、啥样子先来看看一般证书都长什么样:包含三类信息:(1)谁颁发的:颁发者(多数是CA颁发,但有些也是各公司自己颁发比如12306网站的证书)(2)谁使用的:使用者(3)证书本身信息:版本、序列号、签名算法、签名哈希算法、有效期、公钥其中证书中最重要的信息是算法和公钥!2、干吗用的那这个证书干啥用的呢?证书的作用只有一个:验证数据是否可信。首先,证书有一个概念叫证书链。从根

2021-08-22 00:06:05 941

原创 接口安全设计之算法

一、一致性/签名算法二、加密/解密算法三、身份ID产生算法

2021-08-15 17:36:45 349

原创 接口安全设计之原则

接口安全设计

2021-08-15 13:23:06 644

空空如也

空空如也

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

TA关注的人

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