首页 文章 精选 留言 我的

精选列表

搜索[系统],共10000篇文章
优秀的个人博客,低调大师

使用python实现后台系统的JWT认证

今天的文章介绍一种适用于restful+json的API认证方法,这个方法是基于jwt,并且加入了一些从oauth2.0借鉴的改良。 1. 常见的几种实现认证的方法 首先要明白,认证和鉴权是不同的。认证是判定用户的合法性,鉴权是判定用户的权限级别是否可执行后续操作。这里所讲的仅含认证。认证有几种方法: 1.1 basic auth 这是http协议中所带带基本认证,是一种简单为上的认证方式。原理是在每个请求的header中添加用户名和密码的字符串(格式为“username:password”,用base64编码)。 这种方式相当于将“用户名:密码”绑定为一个开放式证书,这会有几个问题:①每次请求都需要用户名密码,如果此连接未使用SSL/TLS,或加密被破解,用户名密码基本就暴露了;②无法注销用户的登录状态;③证书不会过期,除非修改密码。

优秀的个人博客,低调大师

centos7搭建redis集群系统

这里创建6个redis节点,其中三个为主节点,三个为从节点。 redis和端口对应关系: 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 从: 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 步骤: 1,下载redis。官网下载3.0.0版本,之前几的版本不支持集群模式 下载地址:http://download.redis.io/releases/redis-3.0.0.tar.gz 2:上传服务器,解压,编译 tar -zxvf redis-3.0.0.tar.gz mv redis-3.0.0 redis3.0 cd /usr/local/redis3.0 make & make install 3:创建集群需要的目录并拷贝redis mkdir -p /usr/local/cluster mkdir -p /usr/local/cluster/7000 mkdir -p /usr/local/cluster/7001 mkdir -p /usr/local/cluster/7002 mkdir -p /usr/local/cluster/7003 mkdir -p /usr/local/cluster/7004 mkdir -p /usr/local/cluster/7005 cp -rf /usr/local/redis3.0/* /usr/local/cluster/7000/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7001/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7002/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7003/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7004/ cp -rf /usr/local/redis3.0/* /usr/local/cluster/7005/ 4:修改配置文件redis.conf vi /usr/local/cluster/7000/redis.conf ##修改配置文件中的下面选项 port 7000 daemonize yes cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes #同样再对其它配置文件进行修改 vi /usr/local/cluster/7001/redis.conf vi /usr/local/cluster/7002/redis.conf vi /usr/local/cluster/7003/redis.conf vi /usr/local/cluster/7004/redis.conf vi /usr/local/cluster/7005/redis.conf ##注意:不同的目录配置不同的redis.conf中的port 5:启动6个redis cd /usr/local/cluster/7000/src redis-server ../redis.conf cd /usr/local/cluster/7001/src redis-server ../redis.conf cd /usr/local/cluster/7002/src redis-server ../redis.conf cd /usr/local/cluster/7003/src redis-server ../redis.conf cd /usr/local/cluster/7004/src redis-server ../redis.conf cd /usr/local/cluster/7005/src redis-server ../redis.conf ##启动之后使用命令查看redis的启动情况ps -ef|grep redis 6,创建redis集群 cd /usr/local/redis3.0/src ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 6.1执行上面的命令的时候会报错,因为是执行的的脚本,需要 错误内容:/usr/bin/env: ruby: No such file or directory 所以需要安装ruby的环境,这里推荐使用yum install ruby yum install ruby 6.2然后再执行第步的创建集群命令,还会报错,提示缺少rubygems组件 错误内容: ./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError) from ./redis-trib.rb:24 yum install rubygems 6.3再次执行第步的命令,还会报错,提示不能加载redis,是因为缺少redis的接口 错误内容: /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require': no such file to load -- redis (LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:inrequire' from ./redis-trib.rb:25 gem install redis 这里可能无法安装,因为无法连接gem服务器: [@zw_22_90 src]# gem install redis --version 3.0.0 ERROR: Could not find a valid gem 'redis' (= 3.0.0) in any repository ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) 需要手工下载并安装: wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem gem install -l ./redis-3.2.1.gem 6.4 再次执行第步的命令,正常执行 输入yes,然后配置完成。 [@zw_22_90 src]# ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 7,redis-cli命令进入集群环境 [@zw_22_90 src]# redis-cli -c -p 7000 127.0.0.1:7000> quit;查看原文:http://www.chenqmc.com/?p=359

优秀的个人博客,低调大师

计算与存储分离实践—swift消息系统

1. 相关背景 搜索事业部与计算平台事业部目前使用消息队列主要有以下三种场景: 1. 每天有上万张表需要通过Build Service来构建索引。这些表主要来自主搜索,IGRAPH,Rank Service等业务,且每个表包含的文档数差别很大。总数据量为PB级别,总文档数达万亿级。文档的大小不一,小到几十Byte大到几百KB。在Build Service内部,文档处理与索引构建需要一个消息队列来传送消息。因此在build时,容易产生突发大流量(几百G/秒,几千万条/秒)持续消息写入与读取。 2. 搜索的在线服务如主搜索查询服务,RankService打分服务或IGRAPH服务需要毫秒级的实时文档更新。这些服务引擎基本上是多行多列结构,即每一行是一个完整的服务单元,由多台机器组成,多行提升服务

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册