- 进入你的
home
目录
cd ~
- 编辑
.bashrc
文件
<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 | |
http://maven.apache.org/maven-v4_0_0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>com.gordondickens.sample</groupId> | |
<artifactId>sample-parent</artifactId> | |
<version>1.0.0</version> | |
<packaging>pom</packaging> |
#!/usr/bin/env python | |
# encoding: utf-8 | |
from __future__ import print_function | |
''' | |
analyze /proc/<pid>/smaps | |
doc | |
http://liutaihua.github.io/2013/04/25/process-smaps-analysis.html |
package com.meiliao.ops.utils.security; | |
import java.security.NoSuchAlgorithmException; | |
import java.security.NoSuchProviderException; | |
import java.security.SecureRandom; | |
import java.util.HashMap; | |
import java.util.Map; | |
import java.util.Queue; | |
import java.util.concurrent.ConcurrentLinkedQueue; |
public void testFlattenMap() { | |
Map<String, Map<String, Long>> counters = new HashMap<>(); | |
Map<String, Long> nested = new HashMap<>(); | |
nested.put("inner1", 1L); | |
nested.put("inner2", 2L); | |
nested.put("inner3", 3L); | |
counters.put("out1", nested); | |
counters.put("out2", nested); |
The following are examples of the four types rate limiters discussed in the accompanying blog post. In the examples below I've used pseudocode-like Ruby, so if you're unfamiliar with Ruby you should be able to easily translate this approach to other languages. Complete examples in Ruby are also provided later in this gist.
In most cases you'll want all these examples to be classes, but I've used simple functions here to keep the code samples brief.
This uses a basic token bucket algorithm and relies on the fact that Redis scripts execute atomically. No other operations can run between fetching the count and writing the new count.
''' | |
rate_limit2.py | |
Copyright 2014, Josiah Carlson - [email protected] | |
Released under the MIT license | |
This module intends to show how to perform standard and sliding-window rate | |
limits as a companion to the two articles posted on Binpress entitled | |
"Introduction to rate limiting with Redis", parts 1 and 2: |
location xxxx { | |
proxy_pass http://localhost:9000; | |
proxy_buffering off; | |
proxy_cache off; | |
proxy_redirect off; | |
proxy_set_header Connection ''; | |
proxy_http_version 1.1; | |
chunked_transfer_encoding off; | |
proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; |
import java.util.ArrayList; | |
import java.util.Iterator; | |
import java.util.List; | |
import java.util.concurrent.Callable; | |
import java.util.concurrent.ExecutorService; | |
import java.util.concurrent.Future; | |
import java.util.concurrent.LinkedBlockingQueue; | |
import java.util.concurrent.ThreadPoolExecutor; | |
import java.util.concurrent.TimeUnit; |
/* | |
An example of using raw sockets. | |
You can capture packets by tcpdump: | |
tcpdump -X -s0 -i lo -p udp | |
*/ | |
#include <stdlib.h> | |
#include <unistd.h> | |
#include <stdio.h> |