Elasticsearch 別管原理,先run起來

少點代碼,多點頭髮

本文已經收錄至我的GitHub,歡迎大家踴躍star 和 issues。

https://github.com/midou-tech/articles

看文章有兩點需要注意:

  • 本公號講解的Elasticsearch是基於7.7.0版本,你們在閱讀一些相關書籍和博客注意版本,不同版本很多概念會有出入。

  • 文章寫作過程中會經常將Elasticsearch簡寫為Es,閱讀過程中需要注意。

一般學習一個新的技術或者產品,第一步就是用起來。什麼設計理論,框架源碼,都別和我談,先run起來。這也是在公司看別人項目的絕招。

用起來,有一個很明顯的點,是你能感受到他,不然天天看理論知識,看源碼會讓你覺得你好像懂了,但又心裏沒底,最終會導致你走火入魔。

今天龍叔的主題就是 學Es,先run起來,用起來之後在去探索內部更多問題和原理。

Elasticsearch

Elasticsearch安裝

Elasticsearch 的底層是開源庫 Lucene。但是,你沒法直接用 Lucene,必須自己寫代碼去調用它的接口。Elasticsearch 是 Lucene 的封裝,提供了 REST API 的操作接口,開箱即用。

Elasticsearch 需要 Java 8 環境。如果你的機器還沒安裝 Java,可以在網上找個教程安裝,注意要保證環境變量JAVA_HOME正確設置。

安裝完 Java,就可以跟着 官方文檔:https://www.elastic.co/guide/en/elasticsearch/reference/current/zip-targz.html 安裝 Elasticsearch。我這裏就直接下載壓縮包比較簡單。

#mac和linux上安裝教程一樣的
# 下載
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-darwin-x86_64.tar.gz
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-darwin-x86_64.tar.gz.sha512
$ shasum -a 512 -c elasticsearch-7.7.0-darwin-x86_64.tar.gz.sha512 
#解壓
$ tar -xzf elasticsearch-7.7.0-darwin-x86_64.tar.gz
$ cd elasticsearch-7.7.0/

接着,進入解壓后的目錄,運行下面的命令,啟動 Elasticsearch。

$ ./bin/elasticsearch

如果一切正常,那可能是run起來了,Es默認打開9200端口。測試下是否啟動成功,用 curl 工具測試(這個工具後面會寫一篇文章介紹,還有上面用的wget),也可以在瀏覽器訪問。

$ curl localhost:9200 #測試命令
{
  "name" : "MacBook-Pro.local",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Z1NxCjE4T6CgTjZmpAVe_A",
  "version" : {
    "number" : "7.7.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf",
    "build_date" : "2020-05-12T02:01:37.602180Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

請求9200端口,Elastic 返回一個 JSON 對象,包含當前節點、集群、版本等信息。

收到這樣一個JSON對象,說明啟動成功。

安裝整體沒什麼壓力,java環境裝好,基本就是開箱即用。程序員最喜歡使用這樣的中間件,開箱即用,從不管箱子裏面是啥。

基本概念

本來run起來就準備說搞點數據進去,在和Es進行交互起來,但是正在準備寫數據進索引的時候,發現不對勁。

可能有人根本不知道什麼是索引?什麼Document。於是 就來了,先普及下基本概念。

節點(Node) 與集群( Cluster)

Elastic 本質上是一個分佈式數據庫,允許多台服務器協同工作,每台服務器可以運行多個 Elastic 實例。

單個 Elastic 實例稱為一個節點(node)。一組節點構成一個集群(cluster)。

索引(Index)

Elastic 會索引所有字段,經過處理后寫入一個反向索引(Inverted Index),也經常稱之為倒排索引。查找數據的時候,直接查找該索引。

Elastic 數據管理的頂層單位就叫做 Index(索引)。它是單個數據庫的同義詞。每個 Index (即數據庫)的名字必須是小寫。

文檔(Document)

Index 裏面單條的記錄稱為 Document(文檔)。許多條 Document 構成了一個 Index。

寫點數據進Es

基本概念已經有了,知道查找是通過倒排索引進行的,所以數據肯定是存放在索引裏面的。

我們現在要寫數據進Es,其實就是把數據寫到Es的索引(index)中,前面已經把Es啟動起來了,並沒有創建索引。

今天寫數據就不寫代碼了,利用ES的一些封裝很好的接口,直接命令行操作,後期在用代碼寫數據進Es。

先創建一個index ,使用curl 工具在命令行操作,這是一個put請求。

$curl -X PUT 'localhost:9200/user'

查看索引是否以及創建成功

$ curl -X GET 'http://localhost:9200/_cat/indices?v'

這個get請求可以查看當前節點的所有索引

妥妥的已經創建成功

順便說下,刪除一個索引的命令,DELETE參數表示刪除

$curl -X DELETE 'localhost:9200/user'

到這裏索引已經創建好了,可以寫點數據進去了。使用接口 /index/_doc/id ,/索引名/_doc/doc_id

$ curl -X PUT -H 'Content-Type: application/json' 'localhost:9200/user/_doc/1' -d ' {  "name": "龍躍十二",  "title": "工程師",  "desc": "一個分享互聯網技術和心路歷程的star" }'

查看當前索引下的所有數據

$ curl 'localhost:9200/user/_search?pretty=true 

到這裏基本我們已經可以寫數據到指定索引了,生產場景不會這麼寫數據的,都是用代碼寫海量數據進ES的,這就幾條數據也沒什麼搜索性能可談的。

我之前工作中日誌數據都是TB級別的寫到Es中,當遇到這種數據量的搜索時才會感受到搜索引擎的魅力,才會意識到Es的重要性。

這裏主要是練手和跑通流程,所以造了一些數據到Es中

和ES進行交互

其實寫數據進Es已經是一種交互了,在講一些其他的交互接口

目前講的交互方式主要是通過原生的請求的方式,還沒有上升到界面操作,後期在學習的過程中會展現出來。

查詢交互

使用 GET 方法,直接請求/Index/_search,就會返回所有記錄。

$ curl 'localhost:9200/user/_search?pretty=true'
{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 3,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "user",
        "_type" : "_doc",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "龍躍十二",
          "title" : "工程師",
          "desc" : "一個分享互聯網技術和心路歷程的star"
        }
      },
      {
        "_index" : "user",
        "_type" : "_doc",
        "_id" : "3",
        "_score" : 1.0,
        "_source" : {
          "name" : "三y",
          "title" : "工程師",
          "desc" : "只有光頭才能變得更強"
        }
      },
      {
        "_index" : "user",
        "_type" : "_doc",
        "_id" : "2",
        "_score" : 1.0,
        "_source" : {
          "name" : "敖丙",
          "title" : "工程師",
          "desc" : "一個互聯網苟且偷生的工具人"
        }
      }
    ]
  }
}

上面代碼中,返回結果的 took字段表示該操作的耗時(單位為毫秒),timed_out字段表示是否超時,hits字段表示命中的記錄,裏面子字段的含義如下。

  • total:返回記錄數,本例是2條。
  • max_scor:最高的匹配程度,本例是1.0。
  • hits:返回的記錄組成的數組。

返回的記錄中,每條記錄都有一個_score字段,表示匹配的程序,默認是按照這個字段降序排列。

Es的查詢語法還有很多,後面在結合實戰項目的時候會講解其他語法,你也可以看下官網語法介紹 官網查詢語法。

數據操作交互

新增一條doc記錄的語法示例如下,可以不用指定doc_id的,Es會默認有一個doc_id。

$ curl -X PUT -H 'Content-Type: application/json' 'localhost:9200/user/_doc/2' -d ' {  "name": "敖丙",  "title": "工程師",  "desc": "一個互聯網苟且偷生的工具人" }'

刪除一條doc記錄的語法是 /Index/_doc/doc_id

$ curl -X DELETE  'localhost:9200/user/_doc/1'

更新一條記錄的語法示例

$ curl -X PUT -H 'Content-Type: application/json' 'localhost:9200/user/_doc/2' -d ' {  "name": "三太子敖丙",  "title": "工程師",  "desc": "一個互聯網苟且偷生的工具人" }'

總結一下

本篇文章,我們把Es從官網下載下來,可以run起來,可以寫數據進去,可以查詢,學習了一些簡單的交互語法。

當然Es的魅力不在於此,Es的魅力之一在於可以對海量數據進行高效的檢索。

下篇文章出一個關於Es的寫作大綱,方便大家在看的過程中有一個整理的輪廓。

Es整個知識點我也是邊學邊寫,有什麼不對的地方,還希望大佬們儘管指出來。

龍躍十二

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※別再煩惱如何寫文案,掌握八大原則!

網頁設計最專業,超強功能平台可客製化

※回頭車貨運收費標準

計算機網絡之網絡層

網絡層概述

  網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。它提供的服務使傳輸層不需要了解網絡中的數據傳輸和交換技術。如果您想用盡量少的詞來記住網絡層,那就是”路徑選擇、路由及邏輯尋址”。

  網絡層中涉及眾多的協議,其中包括最重要的協議,也是TCP/IP的核心協議——IP協議。IP協議非常簡單,僅僅提供不可靠、無連接的傳送服務。IP協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。

IP協議詳解

虛擬互連網絡

  實際的計算機網絡是錯綜複雜的,物理設備通過使用IP協議,屏蔽了物理網絡之間的差異,當網絡中的主機使用IP協議連接時,則無需關注網絡細節。IP協議使得複雜的實際網絡變為一個虛擬互連的網絡,還使得網絡層可以屏蔽底層細節而專註網絡層的數據轉發,IP協議解決了在虛擬網絡中數據報傳輸路徑的問題。

  IP地址長度為32位,常分成4個8位,IP地址常使用點分十進制來表示(0~255.0~255.0~255.0~255),也就是共有\(2^{32} = 4294961296\)個IP地址。下圖是IP協議的格式:

我們來看看IP協議的首部:

4位版本 4位首部長度 8位服務類型(TOS) 16位總長度(字節)
16位標識 3位標誌 13位片偏移
8位生存時間(TTL) 8位協議 16位首部校驗和
32位源IP地址
32位目的IP地址
選項options(若有)
IP數據

版本:佔4位,指的是IP協議的版本,通信雙方的版本必須一致,當前主流版本是4,即IPv4,也有IPv6
首部位長度:佔4位,最大數值為15,表示的是IP首部長度,單位是“32位字”(4個字節),也即是IP首部最大長度為60字節
總長度:佔16位,最大數值為65535,表示的是IP數據報總長度(IP首部+IP數據)
TTL:佔8位,表明IP數據報文在網絡中的壽命,每經過一個設備,TTL減1,當TTL=0時,網絡設備必須丟棄該報文。作用:避免數據在網絡中無限傳輸,當這個網絡報文找不到目的機器時,而進行無限傳輸,來浪費帶寬資源
協議:佔8位,表明IP數據所攜帶的具體數據是什麼協議的(如:TCP、UDP等)

協議名 ICMP IGMP IP TCP UDP OSPF
字段值 1 2 4 6 17 89

首部校驗和:佔16位,校驗IP首部是否有出錯

IP協議的轉發流程

  在數據鏈路層的學習中我們知道了MAC地址表,由於IP協議的轉發是通過逐跳(hop-by-hop)來實現的,所以在網絡層中,存在一個類似於MAC地址表的路由表,路由表是存儲的目的IP地址和下一跳IP地址的映射,計算機或者路由器都擁有路由表。路由表如下:

目的IP地址 下一跳IP地址
IP1 IP4
IP2 IP5
IP3 IP6

A設備是如何跨設備將數據發送給C設備的呢?

A設備向C設備在網絡層中傳輸數據的過程如下:

  1. A發出目的地為C的IP數據報,查詢路由表發現下一跳為E
  2. A將數據報發送給E
  3. E查詢路由表發現下一跳為F,將數據報發送給F
  4. F查詢路由表發現目的地C直接連接,將數據報發送給C

現在結合數據鏈路層和網絡層,再來看一下跨設備傳輸數據的過程:

  1. A發出目的地為C的IP數據報,查詢路由表發現下一跳為E
  2. A將IP數據報交給數據鏈路層,並告知目的MAC地址是E
  3. 數據鏈路層填充源MAC地址A目的MAC地址E
  4. 數據鏈路層通過物理層將數據發送給E
  5. E的數據鏈路層接收到數據幀,把幀數據交給網絡層
  6. E查詢路由表,發現下一跳為F
  7. E把數據報交給數據鏈路層,並告知目的MAC地址為F
  8. E的數據鏈路層封裝數據幀併發送
  9. F的數據鏈路層接收到數據幀,把幀數據交給網絡層
  10. F查詢路由表,發現下一跳為C
  11. F把數據報交給數據鏈路層,並告知目的MAC地址為C
  12. F的數據鏈路層F封裝數據幀併發送

  從IP協議的轉發流程中我們可以看到:數據幀每一跳的MAC地址都在變化,但IP數據報每一跳的IP地址始終不變。但我們會發現一個問題,在網絡層中將數據報交給數據鏈路層,並且需要告知目的MAC地址,但是在網絡層中只知道IP地址,我們是如何知道目的MAC地址的呢?這就是ARP協議做的事情了。

ARP協議

  ARP(Address Resolution Protocol)地址解析協議,將網絡層中的32位IP地址,通過ARP協議解析為數據鏈路層中的48位MAC地址。這個映射關係是存儲在ARP緩存表中的。arp -a命令:查看ARP緩存表

IP地址 MAC地址
192.168.83.254 00-50-56-e0-33-40
192.168.83.255 01-00-5e-00-00-16
224.0.0.251 01-00-5e-00-00-fc
239.1.2.3 01-00-5e-40-98-8f
255.255.255.255 01-00-5e-7f-ff-fa

  ARP緩存表是ARP協議和RARP協議運行的關鍵,ARP緩存表緩存了IP地址到硬件地址之間的映射關係,ARP緩存表中的記錄並不是永久有效的,有一定的期限。這是因為當你的網絡設備,換個網絡環境,網絡設備的IP地址就可能會發生改變,ARP緩存表中的原來的記錄就失效了。當ARP緩存表中有映射關係,就直接查詢ARP緩存表;如果沒有這個映射關係,ARP協議就會廣播,並記錄回應得地址信息。

  RARP(Reverse Address Resolution Protocol)逆地址解析協議,其作用與ARP協議相反,即把數據鏈路層中48位MAC地址,解析位網絡層中的32位IP地址。(R)ARP協議是TCP/IP協議棧裏面基礎的協議,ARP和RARP的操作對程序員是透明的,理解(R)ARP協議有助於理解網絡分層的細節。

IP地址的子網劃分

分類的IP地址

最小網絡號 最大網絡號 子網數量 最小主機號 最大主機號 主機數量
A 0(00000000) 127(01111111) \(2^7\) 0.0.0 255.255.255 \(2^{24}\)
B 128.0 191.255 \(2^{14}\) 0.0 255.255 \(2^{16}\)
C 192.0.0 223.255.255 \(2^{21}\) 0 255 \(2^{8}\)

特殊的主機號:主機號全0表示當前網絡段,不可分配為特定主機;主機號為全1表示廣播地址,向當前網絡段所有主機發消息

  • A類地址網絡段全0(00000000)表示特殊網絡
  • A類地址網絡段后7位全1(01111111:127)表示迴環地址
  • B類地址網絡段(10000000.00000000:128.0)是不可使用的
  • C類地址網絡段(192.0.0)是不可使用的

實際可使用各類IP地址如下:

最小網絡號 最大網絡號 子網數量 最小主機號 最大主機號 主機數量
A 1 127(01111111) \(2^7\)-2 0.0.1 255.255.254 \(2^{24}\)-2
B 128.1 191.255 \(2^{14}\)-1 0.1 255.254 \(2^{16}\)-2
C 192.0.1 223.255.255 \(2^{21}\)-1 1 254 \(2^{8}\)-2

  127.0.0.1,通常被稱為本地迴環地址(Loopback Address),不屬於任何一個有類別地址類。它代表設備的本地虛擬接口,所以默認被看作是永遠不會宕掉的接口。在Windows操作系統中也有相似的定義,所以通常在安裝網卡前就可以ping通這個本地迴環地址。一般都會用來檢查本地網絡協議、基本數據接口等是否正常的。

劃分子網

  隨着互連網應用的不斷擴大,原先的IPv4的弊端也逐漸暴露出來,即網絡號佔位太多,而主機號位太少,所以其能提供的主機地址也越來越稀缺,目前除了使用NAT在企業內部利用保留地址自行分配以外,通常都對一個高類別的IP地址進行再劃分,以形成多個子網,提供給不同規模的用戶群使用。這裏主要是為了在網絡分段情況下有效地利用IP地址,通過對主機號的高位部分取作為子網號,從通常的網絡位界限中擴展或壓縮子網掩碼,用來創建某類地址的更多子網。但創建更多的子網時,在每個子網上的可用主機地址數目會比原先減少。

上圖就把原來的C類地址劃分成了兩個子網。
  但子網號這麼多,有沒有辦法快速判斷某個IP的網絡號?這就是子網掩碼的作用了,子網掩碼是標誌兩個IP地址是否同屬於一個子網的,也是32位二進制地址,其每一個為1代表該位是網絡位,為0代表主機位。它和IP地址一樣也是使用點式十進制來表示的。如果兩個IP地址在子網掩碼的按位與的計算下所得結果相同,即表明它們共屬於同一子網中。

  子網掩碼由連續的1和連續的0組成,某一個子網的子網掩碼具備網絡號位數個連續的1

  在計算子網掩碼時,我們要注意IP地址中的保留地址,即” 0″地址和廣播地址,它們是指主機地址或網絡地址全為” 0″或” 1″時的IP地址,它們代表着本網絡地址和廣播地址,一般是不能被計算在內的。

無分類編址CIDR

  CIDR中沒有A、B、C類網絡號、和子網劃分的概念,CIDR將網絡前綴相同的IP地址稱為一個“CIDR地址塊”,注意網絡前綴是任意位數的。

網絡前綴 主機號

斜線記法:193.10.10.129/25 使用二進製表示:11000001.00001010.00001010.10000001
無分類地址CIDR相比原來的子網劃分更加 靈活:

CIDR前綴長度 掩碼點分十進制 地址數
/13 255.248.0.0 512K
/14 255.252.0.0 256K
/15 255.254.0.0 128K
/16 255.255.0.0 64K
/17 255.255.128.0 32K
/18 255.255.192.0 16K
/19 255.255.224.0 8K

網絡地址轉換NAT技術

  IPv4最多只有40+億個IP地址,早期IP地址的不合理規劃導致IP號浪費。在介紹NAT技術之前,首先要知道內網地址和外網地址。

  • 內網地址:內部機構使用,避免與外網地址重複。三類內網地址如下:
    • 10.0.0.0~10.255.255.255(支持千萬數量級設備)
    • 172.16.0.0~172.31.255.255(支持百萬數量級設備)
    • 192.168.0.0~192.168.255.255(支持萬數量級設備)
  • 外網地址:全球範圍使用,全球公網唯一

  網絡地址轉換技術是發生在本地路由器的,主要功能就是把內網的IP地址轉成外網的IP地址來進行外部的通信,並且在接收到數據之後,再把外網IP地址映射成內網IP地址,轉發到具體的某個設備上面去。

  內網多個設備使用同一個外網IP請求外網的服務,外部怎麼知道具體是哪個設備在請求的?網絡地址轉換NAT的英文全稱是Network Address Translation,NAT技術用於多個主機通過一個公有IP訪問互聯網的私有網絡中,外部主要是通過端口號來區分到底是內網的哪一個設備進行請求的,這其中有一個NA(P)T表表:示例如下:

方向 舊的地址和端口號 新的地址與端口號
192.168.2.11:6666 173.21.59.10:16666
192.168.2.10:7777 173.21.59.10:17777
173.21.59.10:16666 192.168.2.11:6666
173.21.59.10:17777 192.168.2.10:7777

NAT減緩了IP地址的消耗,但是增加了網絡通信的複雜度

ICMP協議

  ICMP協議全稱是網際控制報文協議(Internet Control Message Protocol),ICMP協議可以報告錯誤信息或者異常情況

ICMP協議首部:

8位類型 8位代碼 16位校驗和
ICMP報文數據

ICMP報文分為:差錯報告報文和詢問報文:

ICMP報文種類 類型的值 報文類型 具體代碼
差錯報告報文 3(終點不可達) 網絡不可達 0
主機不可達 1
5(重定向) 對網絡重定向 0
對主機重定向 1
11 傳輸超時
12 壞的IP頭 0
缺少其他必要參數 1
詢問報文 0或8 回送(Echo)請求或應答
13或14 時間戳(Timestamp)請求或應答

ICMP協議的應用

ping應用:我們可以通過ping命令進行簡單的網絡故障排查:

  1. ping本地迴環地址,一般情況下,都會得到返回的,如果得不到返回,則說明你的計算機的協議棧出現了問題,這個時候就可能需要重裝系統,或者是重新安裝這個協議棧
  2. ping網關地址,即路由器地址,如果能得到返回的話,則說明本機到路由器的通路是通的,如果沒有返回的話,則說明你的wifi,或者你的網線連接是有問題的
  3. ping遠端地址,如果不通的話,則說明你的家到ISP之間的網絡是故障的,此時就需要聯繫網絡服務商(移動、電信、聯通)進行排查。

Traceroute應用:Traceroute可以探測IP數據報在網絡中走過的路徑

路由概述

  思考:路由表中的下一跳地址是怎麼來的?下一跳地址是唯一的嗎?下一跳地址是最佳的嗎?路由器怎麼多,他們是怎麼協同工作的?為了解決這些問題,路由表需要一個好的算法去解決這些事情。路由算法實際上是圖論的算法,由於網絡環境複雜,使得路由算法要比圖論的算法更複雜。

  由於互聯網的規模是非常大的,互聯網環境是非常複雜的,所以我們需要對互聯網進行劃分。自治系統(Autonomous System)是指處於一個管理機構下的網絡設備群,AS內部網絡自行管理,AS對外提供一個或者多個出(入)口。自治系統內部路由的協議稱為:內部網關協議(RIP、OSPF), 自治系統外部路由的協議稱為:外部網關協議(BGP)。

路由算法

  路由算法的本質是距離矢量(DV)算法, 距離矢量(DV)算法介紹如下:

  • 每一個節點使用兩個向量\(D_i\)\(S_i\)
  • \(D_i\)描述的是當前節點到別的節點的距離
  • \(S_i\)描述的是當前節點到別的節點的下一節點
  • 每一個節點與相鄰的節點交換向量\(D_i\)\(S_i\)的信息
  • 每一個節點根據交換的信息更新自己的節點信息

現在假設有A的距離矢量信息,收到的距離矢量信息如下圖:

A通過B到各個節點得距離矢量信息如下:

A通過C到各個節點得距離矢量:並更新下一條的節點

A通過D到各個節點得距離矢量:並更新下一條的節點

A通過F到各個節點得距離矢量:並更新下一條的節點

RIP協議

  RIP(Routing Information Protocol)協議,RIP協議是使用DV算法的一種路由協議。RIP協議把網絡的跳數(hop)作為DV算法的距離,每隔30s交換一次路由信息,認為跳數>15的路由則為不可達路由。

RIP協議的過程

  1. 路由器初始化路由信息(兩個向量\(D_i\)\(S_i\))
  2. 對相鄰路由器X發過來的信息,對信息的內容進行修改(下一跳地址設置為X,所有距離加1)
    1. 檢索本地路由,將信息中新的路由插入到路由表裡面
    2. 檢索本地路由,對於下一跳為X的,更新為修改后的信息
    3. 檢索本地路由,對比相同目的的距離,如果新信息的距離更小,則更新本地路由表
  3. 如果3分鐘沒有收到相鄰的路由信息,則把相鄰路由設置為不可達(16跳)

RIP協議的優缺點:

  • 優點:實現簡單,開銷很小。
  • 缺點:故障信息傳遞慢。也就是隨便相信“隔壁老王”,“自己不思考” “視野不夠”。因為RIP協議每一個路由器它只看到相鄰路由器的信息,而看不到更遠的路由器信息,這也限制了網絡的規模。

內部網關路由協議之OSPF協議

鏈路狀態(LS)協議

  鏈路狀態(LS)協議:向所有的路由器發送消息,也就是一傳十、十傳百,只和相鄰的路由器交換信息。消息描述該路由器與相鄰路由器的鏈路狀態,每隔30s交換路由信息,只有鏈路狀態發生變化時,才發送更新信息。

Dijkstra(迪傑斯特拉)算法

  Dijkstra算法是著名的圖算法,Dijkstra算法解決有權圖從一個節點到其他節點的最短路徑問題,“以起始點為中心,向外層層擴展”。

Dijkstra(迪傑斯特拉)算法定義:

  1. 初始化兩個集合(S, U)(S為只有初始頂點點A的集合,U為其他頂點集合)
  2. 如果U不為空, 對U集合頂點進行距離的排序,並取出距離A最近的一個頂點D
    i. 將頂點D的納入S集合
    ii. 更新通過頂點D到達U集合所有點的距離(如果距離更小則更新,否則不更新)
    iii. 重複2步驟
  3. 直到U集合為空,算法完成

OSPF協議的過程

  OSPF(Open Shortest Path First:開放最短路徑優先),OSPF協議的核心是Dijkstra算法。OSPF協議的過程:路由器接入網絡,路由器向鄰居發出問候信息,與鄰居交流鏈路狀態數據庫,廣播和更新未知路由。

RIP協議 OSPF協議
從鄰居看網絡 整個網絡的拓撲
在路由器之間累加距離 Dijkstra算法計算最短路徑
頻繁、周期更新,收斂很慢 狀態變化更新,收斂很快
路由間拷貝路由信息 路由間傳遞鏈路狀態,自行計算路徑

外部網關路由協議之BGP協議

  BGP(Border Gateway Protocol: 邊際網關協議),BGP協議是運行在AS之間的一種協議。由於互聯網的規模很大,AS內部使用不同的路由協議。

  AS之間需要考慮除網絡特性以外的一些因素(政治、安全…),BGP(Border Gateway Protocol,邊界網關協議),BGP協議能夠找到一條到達目的比較好的路由,AS之間通過BGP發言人來進行路由信息的交換。BGP發言人(speaker):BGP並不關心內部網絡拓撲,AS之間通過BGP發言人交流信息,BGP Speaker可以人為配置策略。

總結:網絡層負責對子網間的數據包進行路由選擇。此外,網絡層還可以實現擁塞控制、網際互連等功能;網絡層的基本數據單位為IP數據報;包含的主要協議:IP協議(Internet Protocol,因特網互聯協議)、ICMP協議(Internet Control Message Protocol,因特網控制報文協議)、ARP協議(Address Resolution Protocol,地址解析協議)以及RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)。網絡層重要的設備是路由器。常見的路由選擇協議有:RIP協議、OSPF協議。RIP協議 :底層是貝爾曼福特算法,它選擇路由的度量標準(metric)是跳數,最大跳數是15跳,如果大於15跳,它就會丟棄數據包;OSPF協議 :Open Shortest Path First開放式最短路徑優先,底層是迪傑斯特拉算法,是鏈路狀態路由選擇協議,它選擇路由的度量標準是帶寬,延遲。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

南投搬家公司費用需注意的眉眉角角,別等搬了再說!

※教你寫出一流的銷售文案?

※回頭車貨運收費標準

※別再煩惱如何寫文案,掌握八大原則!

一個基於Consul的.NET Leader選舉類庫

前段時間有傳言說Consul將不能在我國繼續使用,后被查明是因法律問題Vault企業版產品不能在國內銷售。Valut和Consul都是HashiCorp公司的產品,並且都推出了開源版本,繼續使用開源版本都是沒有問題的,虛驚一場。Consul是一款優秀的服務發現和配置管理產品,基於其提供的Session機制,可以很方便的實現Leader選舉功能。這篇文章將介紹我編寫的一個基於Consul的.NET Leader選舉類庫。

基於Consul的Leader選舉原理

1、參加選舉的程序可以在Consul中創建一個Session,這個Session的存活狀態依賴於當前程序的Consul健康檢查狀態, 一旦健康檢查處於Critical狀態,則對應的Session就會失效。

2、使用這個Session去鎖定某個Consul Key/Value,只有一個Session能成功鎖住KV,擁有這個Session的程序即為Leader。

3、Leader選舉成功后,所有節點還要繼續阻塞查詢上邊的Consul Key/Value,如果KV綁定的Session失效了, 所有節點可以立即發現併發起一次Leader選舉,並選舉出1個Leader。

使用說明

1、啟動本機Consul

當前的版本依賴本機Consul,後續會支持配置遠程Consul地址。

如果本地環境已經配置Consul,保證其正常運行即可。

如果本地環境沒有配置Consul,可以下載后以開發模式快速啟動,以方便體驗Leader選舉功能。

下載地址:https://www.consul.io/downloads

啟動命令:./consul agent -dev

2、安裝Nuget包

NuGet包地址:https://www.nuget.org/packages/FireflySoft.LeaderElection

3、編寫Leader選舉代碼

首先創建LeaderElectionManager的一個實例,傳入服務名稱、服務Id、leader選舉選項等參數,然後調用Watch方法參与選舉,並在Watch方法中傳入Leader選舉結果的處理方法。

以控制台程序為例:

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("I am ElectionService1.");

            // 參与Leader選舉的多個程序應該使用相同的服務名
            // 參与Leader選舉的每個程序應該有唯一的服務Id
            LeaderElectionManager electionManager = new LeaderElectionManager("ElectionService", "ElectionService1", new LeaderElectionOptions());
            electionManager.Watch(LeaderElectCompletedEventHandler);

            Console.WriteLine("Start Election...");

            Console.Read();
        }

        private static void LeaderElectCompletedEventHandler(LeaderElectionResult result)
        {
            // 在這裏處理Leader選舉結果。
            Console.WriteLine($"LeaderElectCompleted, Result: {result.IsSuccess}, Current Leader: {result.State.CurrentLeaderId}.");
        }
    }

4、注意事項

選舉沉默期

LeaderElectionOptions中提供了一個重新選舉沉默期:ReElectionSilencePeriod,默認15s。應用場景如下:

當一個程序的Leader狀態失效時,它可能仍在處理某些事務,並且不能立即中止。 這時候如果其它節點馬上選舉成為Leader,並且開始處理數據,則可能導致數據不一致的狀態。

Leader優先選舉權

此類庫為Leader增加了優先選舉權。應用場景如下:

Leader狀態失效可能只是一種短暫的中斷導致的,系統會很快自動恢復,而業務事務的的啟動和中止需要進行複雜的處理, 所以我們仍然期望下一次Leader選舉時之前的Leader有優先選舉權,避免數據同步和加快系統恢復。

5、源碼開放

這麼好的東西當然要開源:https://github.com/bosima/FireflySoft.LeaderElection

參考文檔

1、Consul Session機制參考:

使用Consul做leader选举的方案

https://www.consul.io/docs/internals/sessions

2、基於Session的Leader選舉機制參考:

https://learn.hashicorp.com/consul/developer-configuration/elections

 

如果你有關於Consul的任何使用問題歡迎加入千人Consul QQ交流群:234939415

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※想知道最厲害的網頁設計公司"嚨底家"!

※別再煩惱如何寫文案,掌握八大原則!

※產品缺大量曝光嗎?你需要的是一流包裝設計!

※回頭車貨運收費標準

台中搬家公司費用怎麼算?

IRENA:2021年大型太陽能電廠就會比燃煤電廠還便宜

摘錄自2020年6月3日科技新報報導

近年來太陽能與風力發電成本可以用暴跌來形容,國際再生能源機構(IRENA)指出,綠能安裝成本正逐年下滑,預計 2021 年陸上風電的成本將會降到每度電 0.043 美元(約新台幣 1.29 元),太陽能則是 0.039 美元(約新台幣 1.17 元),跟 2019 年相比分別下降 18% 與 42%。

IRENA 認為綠能成本下降的主因為技術成熟與規模擴大,IRENA 指出,電廠競標結果也顯示,綠能成本下降趨勢勢不可擋,離完全淘汰燃煤發電愈來愈近。

IRENA 總幹事 Francesco La Camera 指出,武漢肺炎(COVID-19)爆發後,再生能源有望成為各國振興經濟的骨幹之一,我們已經抵達能源轉型重要轉捩點。不過國際能源署(IEA)對此持有不同看法,表示由於製造廠與工廠停擺,再生能源建設工作延遲許多,或許今年太陽能與風力發電會出現首次的負成長。

能源議題
再生能源
能源轉型
國際新聞
太陽能

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※別再煩惱如何寫文案,掌握八大原則!

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※超省錢租車方案

※教你寫出一流的銷售文案?

網頁設計最專業,超強功能平台可客製化

※產品缺大量曝光嗎?你需要的是一流包裝設計!

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

西伯利亞2萬噸柴油料外洩 普丁發布緊急狀態要徹查

摘錄自2020年6月4日自由時報報導

俄羅斯西伯利亞的北極圈內傳出嚴重漏油事件,約2萬噸柴油自諾里爾斯克(Norilsk)附近一處發電廠外洩,流入安柏那亞河(Ambarnaya River),經水路污染北極海,恐釀生態浩劫。而有關單位竟在兩天後才通報這起嚴重事故,讓總統普丁在視訊電話上怒飆負責人「難道我們必須從社群媒體上知道這起緊急事故?」同時今日下令進入緊急狀態。

綜合媒體報導,這起事件發生在5月29日,因金屬業巨擘諾里爾斯克鎳公司(Norilsk Nickel)建於永凍土上的發電廠備用油槽支撐架因氣候暖化下沉,導致大量油料外洩,克拉斯諾亞爾斯克邊疆區(Krasnoyarsk)監管單位指出,約有1萬5000噸油料流入附近的安柏那亞河,另外6000噸則滲入土中,官方媒體表示目前污染面積達350平方公里。就油量而言,這是俄國現代史上第二大漏油事件。

世界自然基金會(WWF)俄羅斯分部主管卡尼茲尼可夫(Alexey Knizhnikov)表示,因地理受限,當局很難派出大型艇除污,且安巴爾納亞河流入的湖泊又可透過水路通往生態脆弱的北極海。而俄國漁政單位評估,整條河的生態需要數十年才能恢復。

公害污染
污染治理
國際新聞
俄羅斯
漏油污染

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※超省錢租車方案

※別再煩惱如何寫文案,掌握八大原則!

※回頭車貨運收費標準

※教你寫出一流的銷售文案?

※產品缺大量曝光嗎?你需要的是一流包裝設計!

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

網頁設計最專業,超強功能平台可客製化

南非「宰獅取骨」販賣給中國當藥材 專家擔憂致命病毒傳染

摘錄自2020年06月15日聯合報報導

英國保守黨前副主席邁克爾(Lord Ashcroft)近期推出新書「不公平的遊戲(Unfair Game)」,揭露了南非333個屠宰場,將大量獅子宰殺取骨,之後販賣給商人,以利中國和東南亞將其製作成傳統藥材,對此獸醫表示若獅子因病毒死亡,人類可能會因接觸其骨頭而感染。

根據「每日郵報」「太陽報」報導,中國和東南亞每年推動幾百萬英鎊(約千萬台幣)的獅子骨交易,他們將獅子骨視為傳統藥材,而獅子骨和虎骨也會被用來製作成葡萄酒和小飾品。

不過,邁克爾指出圈養的獅子在極為惡劣的環境中生長,牠們可能會將致命疾病傳播給人類,包括結核病或肉毒桿菌中毒,甚至引發一場大流行,南非普利托利亞的野生動物獸醫彼得(Peter Caldwell)表示肉毒桿菌中毒是一種會攻擊神經系統的疾病,可以通過被感染的骨頭和皮膚傳播給人類,另外布魯氏菌病也會透過獅子骨頭傳播,造成關節炎、心臟發炎、結核病、發燒等細菌感染。

物種保育
生活環境
生態保育
生物多樣性
國際新聞
中國
南非
屠宰場
人畜共通傳染病
蝙蝠與新興傳染病
獅子
公共衛生

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計最專業,超強功能平台可客製化

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

※回頭車貨運收費標準

※推薦評價好的iphone維修中心

※教你寫出一流的銷售文案?

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

台中搬家公司費用怎麼算?

長矛射殺國家公園大猩猩領袖 四男恐被關到死

摘錄自2020年6月14日自由時報報導

遊客到訪烏干達都會排上尋找山地大猩猩的行程,近日卻傳出一隻「明星」大猩猩遭到長矛刺殺死亡,涉嫌殺害大猩猩的4名男子供稱,因為大猩猩企圖發動攻擊,因此自衛時才會不小心誤殺大猩猩,目前4人因違反野生動物保護法而被起訴,警方尚在釐清犯案過程,若4人罪名成立將可能面臨540萬美元(約新台幣1.6億元)的罰款或終身監禁。

綜合外媒報導,25歲的銀背大猩猩拉飛奇(Rafiki)在布恩迪難以穿越國家公園(Bwindi Impenetrable National Park)擔任恩庫林哥(Nkuringo)大猩猩團的領袖,深受遊客喜愛,6月1日拉飛奇離奇失蹤,隔日救難隊發現其遺體。

烏干達野生動物管理局表示拉飛奇的死亡是「很大的打擊」,因大猩猩是烏干達的主要旅遊景點之一,且目前大猩猩已瀕臨絕種被列為保育類動物,拉飛奇生前喜歡與人類互動,如今死亡恐怕導致大猩猩團不再信任人類甚至團體分裂,進而影響到當地旅遊發展與經濟。

物種保育
生態保育
生物多樣性
國際新聞
烏干達
銀背大猩猩

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※產品缺大量曝光嗎?你需要的是一流包裝設計!

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

※回頭車貨運收費標準

※推薦評價好的iphone維修中心

※超省錢租車方案

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

※推薦台中搬家公司優質服務,可到府估價

研究:全球大型瀕危哺乳動物消失 最終原因是人口激增

環境資訊中心外電;姜唯 翻譯;林大利 審校;稿源:ENS

西藏野氂牛(Wild Yak,學名:Bos mutus)、巴塔哥尼亞馬駝鹿(Patagonian Huemul,學名:Hippocamelus bisulcus)、不丹的羚牛(Takin,學名:Budorcas taxicolor)、越南的中南大羚(Saola,學名:Pseudoryx nghetinhensis)等世界各地特殊大型哺乳動物正在悄悄消失。過去的幾十年間,連非洲的三種斑馬和牛羚也大幅度減少。

研究人員指出,造成這些哺乳動物消失的原因不僅僅是疾病和棲息地破碎化、森林砍伐或野生動植物貿易。最終原因是人口激增。

而且,除非人類行為大幅度改變,否則科學家認為,這些哺乳動物未來的族群狀況將永遠回不去了。

西藏野氂牛、巴塔哥尼亞馬駝鹿等世界各地特殊大型哺乳動物正悄悄消失。照片來源:birdcapemay(CC BY-NC-ND 2.0)

科學家分析全球大型哺乳動物角色改變的原因 答案正是人口激增

科學家將這些發現發表在《生態與演化前線(Frontiers in Ecology and Evolution)》期刊上,題目是「破碎的食物網和混亂的未來:面對地球人口不斷成長的現代有蹄類(Disassembled food webs and messy projections: modern ungulate communities in the face of unabating human population growth)」。

研究主要作者、科羅拉多州立大學教授伯傑(Joel Berger)說,是付諸行動的時候了,吹捧過去的保育成就對改善人類的未來沒什麼幫助。

在這項研究中,科學家們分析了導致全球生態系統中哺乳動物角色改變的直接和間接原因,同時也指出生態交互作用的本質如何產生根本性的變化,甚至在未來幾十年內更大規模地發生。

他們研究了巴塔哥尼亞馬駝鹿、不丹的羚牛,北美沙漠的野馬、狼和郊狼的變化,以及大型食肉動物就地滅絕後大生態系統改變的必然性。

科學家認為,隨著人口在陸地上的分布越來越廣,這些改變是現在進行式。

「即使是在喜馬拉雅山脈的偏遠地區,人類入侵帶來流浪狗和野狗,嚴重破壞了高經濟價值和文化象徵意義的野生和圈養物種。」不丹基金會的Wangchuk說。

隨著人口激增,大型哺乳動物數量卻是在遞減。圖為巴塔哥尼亞馬駝鹿。照片來源:Vera & Jean-Christophe(CC BY-SA 2.0)

2020年世界人口已接近80億 地球上的哺乳動物有97%是牲畜和人類

人類定居喜馬拉雅山部分地區還是近年暖化融冰後的事。科學家們還指出全球人口的劇烈變化。1830年,海軍中將羅伯特.斐茲洛伊(Robert Fitzroy)乘著小獵犬號穿越南美洲麥哲倫海峽(Magellan Straits)時,地球人口不到12億。到1970年世界地球日,已超過35億。

僅50年後的今天,世界人口已接近80億,牲畜和人類占了地球哺乳動物生物量高達97%。

研究團隊指出,全世界的食物網已被人類大幅改變無法回頭了,重建過去的條件或恢復曾經由原生種創造的生態功能幾乎是不可能的。例如今日除南極洲外,在每個大陸以及美國70%的州中都有野化的家豬。這些動物影響了魚類、爬行動物、鳥類以及其他小型哺乳動物,甚至植物和土壤。

此外,氣候變遷使海洋暖化,導致海洋藻類增生,漁獲量減少。相對魚類的需求減少,陸地上盜獵野生生物的情況隨之增加。

科學家們還記錄下時尚需求如何增加從蒙古、印度和中國輸出至西方的喀什米爾羊毛,導致更多中亞沙漠牧民飼養山羊。這些山羊與原生物種競爭食物,同時也因當地狗越來越多而身處險境。

這些狗不僅是掠食者,還攜帶疾病,傳染雪豹(Snow Leopard,學名:Panthera uncia)、西藏野驢(Kiang,學名:Equus kiang)和普氏原羚(Przewalski’s gazelle,學名:​​​​​​​Procapra przewalskii)等瀕臨滅絕的物種。

棲息在亞洲中部山區的雪豹。照片來源:Antonio Marín Segovia(CC BY-NC-ND 2.0)

但作者們認為,儘管形勢嚴峻,並非沒有機會挽回。像是在極地,適應寒冷氣候的物種仍是人類重要的文化資產,我們仍然有時間保存僅存的生態。

全世界還有許多保護區,如非洲的塞倫蓋蒂和克魯格國家公園、北美黃石公園和朗格-聖伊利亞斯國家公園暨保護區、玻利維亞麥迪迪國家公園、智利和阿根廷的巴塔哥尼亞冰原、中國長塘自然保護區以及世界最大國家公園東北格陵蘭國家公園。

儘管大型哺乳動物食物網將與過去有所不同、有著不同以往的運作方式,但對於未來的走向還有許多選擇。

作者表示:「現在還不算太晚,我們沒有時間為失去哀悼。必須將生態悲痛化為行動,尊重仍然存在的特殊生物多樣性,並透過保護地球的大片原野地來實現。」

Wildife Suffers Humpty Dumpty Effect as Humans Multiply FORT COLLINS, Colorado, June 9, 2020 (ENS)

Some of the world’s largest, most spectacular and unheralded mammals are silently slipping away – species like Tibetan wild yaks and Patagonia’s huemul, Bhutan’s takin and Vietnam’s saola. Even Africa’s three species of zebras and wildebeest have suffered massive reductions over the last several decades.

The reasons for these losses are more than disease and habitat fragmentation, deforestation or wildlife trade, according to researchers. Ultimately, the cause is rampant human population growth.

And unless human behavior changes in unprecedented ways, these scientists warn that future communities of these mammals will never resemble those of the recent past or even today.

The findings are based on a new study, “Disassembled food webs and messy projections: modern ungulate communities in the face of unabating human population growth,” published June 9 in the journal “Frontiers in Ecology and Evolution.”

Joel Berger, lead author of the study and a professor at Colorado State University, said that the time for action is now, and that touting past conservation achievements does little to better humanity’s future.

In this study, the scientists analyzed direct and indirect disruptions that lead to the changing roles of mammals in global ecosystems and noted how the nature of ecological interactions has changed and will do so, on an even larger scale, in the coming decades.

They looked at what has happened with the huemul in Patagonia, takin in Bhutan, wild horses in deserts, wolves and coyotes in North America, and the inevitability of change in big ecosystems as large carnivores are extirpated.

They said this is happening as the human population increases its footprint on land.

“Even in the remote reaches of the Himalayas, stray and feral dogs, a direct result of human intrusions, wreak havoc on wild and domestic species of high economic value and cultural importance,” said Wangchuk of the Bhutan Foundation.

Humans only recently colonized parts of the Himalayas, areas where ice has receded due to warming temperatures. Yet, the authors also point to human population change at a global scale. In 1830 when Vice-Admiral Robert Fitzroy captained his ship, the Beagle, through the Magellan Straits of South America, fewer than 1.2 billion people inhabited Earth. By Earth Day in 1970, there were more than 3.5 billion.

Today, only 50 years later the world’s population approaches eight billion. Livestock and humans now constitute a staggering 97 percent of the planet’s mammal biomass.

The research team explained that worldwide food webs have become irretrievably altered by humans, with little hope to reconstitute even recent past conditions or to put back the ecological functions once created by native species.

Feral pigs, for instance, exist today on every continent except Antarctica, and in 70 percent of the states in the United States. These animals disrupt fish, reptiles, birds and other small mammals, plants and soils.

In addition, climate change warms the oceans, which in turn foments marine algal blooms, reducing fishery catches. With less demand for fish, a consequent uptick in wildlife poaching on land occurs.

The scientists also documented how an appetite for fashion like cashmere increases imports to the west from Mongolia, India and China, resulting in economic incentives for desert pastoralists to produce more domestic goats in central Asia. These goats compete for food with native species and are in danger due to increasing numbers of dogs in these areas.

The dogs are not only predators but also carry diseases, which jeopardizes endangered species like snow leopards, kiang and Przewalksi’s gazelle.

Berger and the study authors suggest that despite the grim findings, all is not yet lost.

Prospects for ecological integrity and the conservation of unheralded species improve greatly toward the world’s edges where the planet’s cold-adapted species remain important to the human spirit and we still have time to save what we have.

The world has remarkable protected areas including Serengeti and Kruger National Park in Africa, Yellowstone and Wrangell-St. Elias National Park & Preserve in North America, Madidi National Park in Bolivia, the Patagonia Ice Fields of Chile and Argentina, the Chang Tang Nature Reserve in China, and Northeast Greenland National Park, the world’s largest national park.

And although food webs with large mammals will be different from those of the past and operate differently today, there are options to shape the future.

“It is not too late and we simply do not have the luxury of time to mourn what we have lost,” said Lambert. “We need to use our ecological grief to implement action and honor the exceptional biodiversity that remains. This can be done by protecting large tracts of the planet’s wild places.”

※ 全文及圖片詳見:ENS

保育類野生動物
哺乳動物
人口
國際新聞
生態保育
生物多樣性

作者

姜唯

如果有一件事是重要的,如果能為孩子實現一個願望,那就是人類與大自然和諧共存。

林大利

於特有生物研究保育中心服務,小鳥和棲地是主要的研究對象。是龜毛的讀者,認為龜毛是探索世界的美德。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※回頭車貨運收費標準

※產品缺大量曝光嗎?你需要的是一流包裝設計!

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

※推薦評價好的iphone維修中心

※教你寫出一流的銷售文案?

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

中國紅蘿蔔殘留農藥超標 日本發出檢查令

摘錄自2020年6月15日中央社報導

因為從中國進口的紅蘿蔔陸續查出含有超過安全標準的殘留農藥,日本政府今(15日)依法發出檢查令,今後中國產的紅蘿蔔都須接受檢查。

「讀賣新聞」報導,日本厚生勞動省今天根據食品衛生法發出檢查命令,今後如果進口中國產的紅蘿蔔(包含加工品),業者有義務須接受紅蘿蔔殘留農藥的檢查。

生活環境
國際新聞
日本
蘿蔔
殘留農藥
食品安全

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※台北網頁設計公司全省服務真心推薦

※想知道最厲害的網頁設計公司"嚨底家"!

※推薦評價好的iphone維修中心

網頁設計最專業,超強功能平台可客製化

※別再煩惱如何寫文案,掌握八大原則!

法國擬開採莫三比克天然氣 環團批製造氣候炸彈

摘錄自2020年6月15日中央社報導

法國石油業巨擘道達爾(Total)正在莫三比克發展開採天然氣的大型計畫,環保組織「地球之友」今(15日)指控法國此舉無異是在當地放置一枚「氣候定時炸彈」。

法新社報導,「地球之友」(Friends of the Earth)一份報告名為「產業的意外之財,莫三比克的詛咒:法國把莫三比克推進氣阱」(A windfall for the industry, a curse for the country: France Thrusts Mozambique into the gas trap)。報告指出,2010年代初在莫三比克的北海岸外海水面下發現巨大的天然氣儲量,開採總投資金額將達600億美元。

「地球之友」指控,「法國這項陰謀是代表法國能源產業與銀行家的經濟利益……迫使另個非洲國家仰賴化石燃料」。

這份報告指出,法國正研擬三個天然氣計畫,「釋放出的溫室氣體可能相當於法國一年溫室氣體排放量的7倍,更是莫三比克目前年排放量的49倍」。

能源議題
能源轉型
國際新聞
法國
天然氣
油氣開採

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準